📄 orders.java
字号:
/**
* Copyright (c)上海烟草(集团)公司与上海康时信息系统有限公司。
*/
package com.myejb.entity;
import java.io.Serializable;
import java.util.Date;
import java.util.HashSet;
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.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OrderBy;
import javax.persistence.Table;
/**
* Orders 实体Bean
* @author xywang
* @since 2009-2-13
* @version 1.0
*/
@SuppressWarnings("serial")
@Entity
@Table(name="Orders")
public class Orders implements Serializable{
private Integer orderid;
private Float amount;
private Set<OrderItem> orderItems = new HashSet<OrderItem>();
private Date createdate;
private Person ower;
public Orders(){}
public Orders(Float amount,Person ower,Date createdate){
this.amount = amount;
this.ower = ower;
this.createdate = createdate;
}
@Id
@GeneratedValue
public Integer getOrderid(){
return orderid;
}
public void setOrderid(Integer orderid){
this.orderid = orderid;
}
@ManyToOne(cascade=CascadeType.ALL,optional=false)
@JoinColumn(name="person_id")
public Person getOwer(){
return ower;
}
public void setOwer(Person ower){
this.ower = ower;
}
/**
* 一对多关系@OneToMany的属性有:
* targetEntity:Class类型的属性。定义关系类的类型,默认是该成员属性对应的类类型,所以通常不需要提供定义。
* mappedBy:String类型的属性。定义类之间的双向关系。如果类之间是单向关系,不需要提供定义,
* 如果类和类之间形成双向关系,我们就需要使用这个属性进行定义,否则可能引起数据一致性的问题。
* cascade:CascadeType[]类型。该属性定义类和类之间的级联关系。(CascadeType.PERSIST级联新建,CascadeType.REMOVE级联删除,CascadeType.REFRESH级联刷新,CascadeType.MERGE级联更新)
* fatch:FetchType类型的属性。FetchType.EAGER:关系类(本例是OrderItem类)在主类(本例是Orders类)加载的时候同时加载,
* FetchType.LAZY: 关系类(本例是OrderItem类)在被访问时才加载。默认是FetchType.LAZY。
* 排序:@OrderBy(value="id ASC")注释指明加载OrderItem时按id的升序排序。
*/
@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 Float getAmount(){
return amount;
}
public void setAmount(Float amount){
this.amount = amount;
}
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);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -