2006-12-10
确实不爽
今天真是郁闷,每次都试不好,唉,话不多说,把代码帖出来吧
java 代码
- package com.foshanshop.ejb3.bean;
- import java.io.Serializable;
- import java.util.HashSet;
- import java.util.Date;
- import java.util.Set;
- import javax.persistence.CascadeType;
- import javax.persistence.Entity;
- import javax.persistence.FetchType;
- import javax.persistence.GeneratedValue;
- import javax.persistence.Id;
- import javax.persistence.OneToMany;
- import javax.persistence.OrderBy;
- import javax.persistence.Table;
- @SuppressWarnings("serial")
- @Entity
- @Table(name = "Orders")
- public class Order implements Serializable {
- private Integer orderid;
- private Float amount;
- private Set<OrderItem> orderItems = new HashSet<OrderItem>();
- private Date createdate;
- @Id
- @GeneratedValue
- public Integer getOrderid() {
- return orderid;
- }
- public void setOrderid(Integer orderid) {
- this.orderid = orderid;
- }
- public Float getAmount() {
- return amount;
- }
- public void setAmount(Float amount) {
- this.amount = amount;
- }
- @OneToMany(mappedBy="order",cascade = CascadeType.ALL, fetch = FetchType.LAZY)
- @OrderBy(value = "id ASC")
- public Set<OrderItem> getOrderItems() {
- return orderItems;
- }
- public void setOrderItems(Set<OrderItem> orderItems) {
- this.orderItems = orderItems;
- }
- public Date getCreatedate() {
- return createdate;
- }
- public void setCreatedate(Date createdate) {
- this.createdate = createdate;
- }
- public void addOrderItem(OrderItem orderitem) {
- if (!this.orderItems.contains(orderitem)) {
- this.orderItems.add(orderitem);
- orderitem.setOrder(this);
- }
- }
- public void removeOrderItem(OrderItem orderitem) {
- orderitem.setOrder(null);
- this.orderItems.remove(orderitem);
- }
- }
这代码是我原封不动的拷过来的,可是我这里就是运行不了,异常为
org.hibernate.MappingException: Could not determine type for: java.util.Set, for columns: [org.hibernate.mapping.Column(orderItems)]
说是找不到Set类型的列,建不了这个列,当时我刚看到这段代码时候,也很纳闷,这里有一个Set成员变量,那Set怎么表现为数据库中的列呢?难道它不会生成这列?,运行后发现确实没有生成这列,但是却抛出了一个异常,抛出这个异常的结果就是我的这个DAO没有绑定到JNDI中去,最后就找不到我这个DAO了.
难道原例子能实现,废话,当然能实现,不实现别人会放到网上去吗?
可是我这里为什么不能实现呢,它能帮我把两个表都建好了,并且外键对应主键的约束都帮我建好了,为什么却会出这等错误呢.
留着,以后解决.太不爽了.
评论
sgwood
2008-03-07
我的问题解决了,是因为我在category方少了个@OneToMany对应的Set<News> news映射...
错误相同.OrderItem应该也要加@ManyToOne
错误相同.OrderItem应该也要加@ManyToOne
wancyang
2007-03-26
请问你解决了没有?我也遇到了这个问题
wtb
2007-02-13
你这是建的双向1:N关系吧。这个set是不会生成列的。实际上它会在orderitem表中建一个列叫order,存储它所属的order记录的ID号。
在OrderItems实体中添加:
private Order order;
@MantyToOne
public Order getOrder()
{
return order;
}
.....
在OrderItems实体中添加:
private Order order;
@MantyToOne
public Order getOrder()
{
return order;
}
.....
lbfhappy
2006-12-11
不知道谁能帮我一下

发表评论
- 浏览: 15746 次

- 详细资料
搜索本博客
最近加入圈子
最新评论
-
YOYOPlayer通过了审核,成 ...
怎么源代码下载不了出现验证错误啊。
-- by wuhua -
确实不爽
我的问题解决了,是因为我在category方少了个@OneToMany对应的Se ...
-- by sgwood -
YOYOPlayer通过了审核,成 ...
wanshuiqianshan 写道下载后一直在用 感觉挺好! &n ...
-- by kroll01 -
YOYOPlayer通过了审核,成 ...
下载后一直在用 感觉挺好!
-- by wanshuiqianshan -
YOYOPlayer通过了审核,成 ...
祝贺额. swing在开发桌面程序也是可以做出很玄的效果的, 在去年java技术 ...
-- by icess






评论排行榜