EJB笔记二 one to many
来源:互联网 发布:谣言的网络暴力 编辑:程序博客网 时间:2024/05/14 08:44
双向一对多关系,一是关系维护端(owner side),多是关系被维护端(inverse side)的。在关系被维护端(inverse side)建立外键列指向关系关系维护端的主键列。
Order.java
@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;
}
@Temporal(value=TemporalType.TIMESTAMP)
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);
}
}
@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;
}
@Temporal(value=TemporalType.TIMESTAMP)
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);
}
}
OrderItem.java
@SuppressWarnings("serial")
@Entity
@Table(name = "OrderItems")
public class OrderItem implements Serializable ...{
private Integer id;
private String productname;
private Float price;
private Order order;
public OrderItem() ...{
}
public OrderItem(String productname, Float price) ...{
this.productname = productname;
this.price = price;
}
@Id
@GeneratedValue
public Integer getId() ...{
return id;
}
public void setId(Integer id) ...{
this.id = id;
}
public String getProductname() ...{
return productname;
}
public void setProductname(String productname) ...{
this.productname = productname;
}
public Float getPrice() ...{
return price;
}
public void setPrice(Float price) ...{
this.price = price;
}
@ManyToOne(cascade=CascadeType.REFRESH,optional=false)
@JoinColumn(name = "order_id")
public Order getOrder() ...{
return order;
}
public void setOrder(Order order) ...{
this.order = order;
}
}
@Entity
@Table(name = "OrderItems")
public class OrderItem implements Serializable ...{
private Integer id;
private String productname;
private Float price;
private Order order;
public OrderItem() ...{
}
public OrderItem(String productname, Float price) ...{
this.productname = productname;
this.price = price;
}
@Id
@GeneratedValue
public Integer getId() ...{
return id;
}
public void setId(Integer id) ...{
this.id = id;
}
public String getProductname() ...{
return productname;
}
public void setProductname(String productname) ...{
this.productname = productname;
}
public Float getPrice() ...{
return price;
}
public void setPrice(Float price) ...{
this.price = price;
}
@ManyToOne(cascade=CascadeType.REFRESH,optional=false)
@JoinColumn(name = "order_id")
public Order getOrder() ...{
return order;
}
public void setOrder(Order order) ...{
this.order = order;
}
}
- EJB笔记二 one to many
- EJB笔记三 many to many
- many-to-one使用笔记
- ejb笔记一 one to one
- 学习笔记-----------表之间的关联(one-to-one many-to-one many-to-many)
- NHibernate学习笔记(三):many-to-one/one-to-many/many-to-many关系映射
- NHibernate学习笔记(三):many-to-one/one-to-many/many-to-many关系映射
- <many to one>和<one to many>
- <many-to-one>和<one-to-many>
- hibernate many-to-one // one-to-many
- nhibernate one to one,one to many
- one to many
- Many-to-one query
- Many-to-One映射
- hibernate many-to-one
- many-to-one
- Many-to-One映射
- hibernate one to many
- Maemo Linux手机平台系列分析:2 术语
- 学习Java的30个基本概念
- 一个类的实例化对象所占空间的大小?
- Linux文件查找命令find,xargs详述
- javascript技巧大全
- EJB笔记二 one to many
- 打好基础,很重要
- 利用RPM的校验功能实现入侵检测分析
- oracle中看表空间大小等
- Suse安装支持图形界面
- ant 的ftp任务使用,实现自动备份等,解决中文问题
- 广西第一改装EVO
- 配置BOA支持CGI
- JAVA基础知识精华总结