1 package ejava.examples.asyncmarket.bo; 2 3 import java.io.Serializable; 4 5 import javax.persistence.*; 6 7 @Entity @Table(name="ASYNCMARKET_ORDER") 8 @NamedQueries({ 9 @NamedQuery(name="AsyncMarket_getOrders", 10 query="select o from Order o"), 11 @NamedQuery(name="AsyncMarket_getOrdersForItem", 12 query="select o from Order o " + 13 "where o.item.id = :itemId") 14 }) 15 public class Order implements Serializable { 16 private static final long serialVersionUID = 1L; 17 private long id; 18 private long version; 19 private Person buyer; 20 private AuctionItem item; 21 private double maxBid; 22 23 public Order() {} 24 public Order(long id) { setId(id); } 25 26 @Id @GeneratedValue 27 public long getId() { 28 return id; 29 } 30 public void setId(long id) { 31 this.id = id; 32 } 33 @Version 34 public long getVersion() { 35 return version; 36 } 37 public void setVersion(long version) { 38 this.version = version; 39 } 40 41 @ManyToOne 42 public Person getBuyer() { 43 return buyer; 44 } 45 public void setBuyer(Person buyer) { 46 this.buyer = buyer; 47 } 48 49 @OneToOne 50 public AuctionItem getItem() { 51 return item; 52 } 53 public void setItem(AuctionItem item) { 54 this.item = item; 55 } 56 57 public double getMaxBid() { 58 return maxBid; 59 } 60 public void setMaxBid(double maxBid) { 61 this.maxBid = maxBid; 62 } 63 64 public String toString() { 65 StringBuilder text = new StringBuilder(); 66 text.append("id=" + id); 67 text.append(", version=" + version); 68 text.append(", maxBid=" + maxBid); 69 text.append(", buyer=" + buyer.getUserId()); 70 text.append(", item=" + item); 71 text.append(", highestBid=" + item.getHighestBid()); 72 return text.toString(); 73 } 74 }