?? 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 + -