Order.java package cn.edu.ejb3.bean import java.io.Serializable import java.util.HashSet, import java util.Date: importjava.util.Set. import javax.persistence.Cascade Type. import iavax.persistence.Entitv: import javax.persistence.FetchTvpe import javax import javax.persistence.One ToMany. import javax.persistence.OrderBy: import javax.persistence.Table; import javax-persistence.Temporal. impor TemporalType @Entity @Table(name="Orders") public class Order implements Serializable private static final long serialVersionUID=4970325922198249712L private Integer orderid. private Float amount: private Set<Orderltem>orderltems=new HashSet<Orderltem>(). @Id @Generated Value public Integer getOrderid() returnorderid; public void setOrderid(nteger orderid) this.orderid orderid; public Float getAmount({ return amount. public void setAmount(Float amount){ this amount amount:
Order.java: package cn.edu.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; import javax.persistence.Temporal; import javax.persistence.TemporalType; @Entity @Table(name = "Orders") public class Order implements Serializable { private static final long serialVersionUID = 4970325922198249712L; 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 @OrderBy(value="idASC") public Set<Orderltem>getOrderltems) return orderltems. public void setOrderltems(SetOrderItem>orderItems) this orderltems=orderltems, @Temporal(value=TemporalType TIMESTAMP) public Date getCreatedate return createdate public void setCreatedate Date createdate) this.createdate createdate: public void addOrderltem(Orderltem orderitem) if(!this orderltems.contains(orderitem)) thisorderltems add(orderitem); orderitem.setOrder(this) public void removeOrderltem(Orderltem orderitem) if (this orderltems containsorderitem)){ orderitem.setOrder(ul) (orderitem) 体幸 ·返回对象的散列代码值。该实现根据此对象 幸中orderid字段计算散列代码值, ◆@return此对象的散列代码值。 @Override public int hashCode() int hash=0 hash +=(this.orderid !null this.orderid.hashCode():0): return hash;
@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) { if (this.orderItems.contains(orderitem)) { orderitem.setOrder(null); this.orderItems.remove(orderitem); } } /** * 返回对象的散列代码值。该实现根据此对象 * 中 orderid 字段计算散列代码值。 * @return 此对象的散列代码值。 */ @Override public int hashCode() { int hash = 0; hash += (this.orderid != null ? this.orderid.hashCode() : 0); return hash; }
体幸 ·确定其他对象是香等于此Order。. 当日仅业 ·参数不为null且该参数是具有与此对象相同orderid字段值的Order对 象时, 结果才为<code>true<code>。 ◆@param对象,要比较的引用对象 幸如果此对象与参数相同,则@return<code>truc<code>: ◆否则为<code false</code> @Override public boolean equals(Object object) if((object instanceofOrder)) retum false. Order other=(Order)object, if (this.orderid I=other.orderid&&(this.orderid =null Ithis.orderidcqualsohcrordcrid》rctumfalsc return true /** ·返回对象的字符串表示法。该实现根据orderid字段 幸构浩此麦示法 ◆@return对象的字符串表示法 @Override public String toString() return this.getClass().getName()+[orderid="+orderid+ OrderItem.java: package cn.edu.ejb3.bean import java.io.Serializable import javax.persistence.CascadeType importjavax.persistence.Column; mport javax.persistence.Entity import javax.persistence.Id; import javax.persistence.JoinColumn import javax.persistence.Many ToOne
/** * 确定其他对象是否等于此 Order。当且仅当 * 参数不为 null 且该参数是具有与此对象相同 orderid 字段值的 Order 对 象时, * 结果才为 <code>true</code>。 * @param 对象,要比较的引用对象 * 如果此对象与参数相同,则 @return <code>true</code>; * 否则为 <code>false</code>。 */ @Override public boolean equals(Object object) { if (!(object instanceof Order)) { return false; } Order other = (Order)object; if (this.orderid != other.orderid && (this.orderid == null || !this.orderid.equals(other.orderid))) return false; return true; } /** * 返回对象的字符串表示法。该实现根据 orderid 字段 * 构造此表示法。 * @return 对象的字符串表示法。 */ @Override public String toString() { return this.getClass().getName()+ "[orderid=" + orderid + "]"; } } OrderItem.java: package cn.edu.ejb3.bean; import java.io.Serializable; import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne;