Order.java

  1. package ejava.examples.asyncmarket.bo;

  2. import java.io.Serializable;

  3. import javax.persistence.*;

  4. @Entity @Table(name="ASYNCMARKET_ORDER")
  5. @NamedQueries({
  6.     @NamedQuery(name="AsyncMarket_getOrders",
  7.                 query="select o from Order o"),
  8.     @NamedQuery(name="AsyncMarket_getOrdersForItem",
  9.                 query="select o from Order o " +
  10.                       "where o.item.id = :itemId")
  11. })
  12. public class Order implements Serializable {
  13.     private static final long serialVersionUID = 1L;
  14.    
  15.     @Id @GeneratedValue(strategy=GenerationType.IDENTITY)
  16.     private long id;
  17.    
  18.     @Version
  19.     private long version;
  20.    
  21.     @ManyToOne(optional=false, fetch=FetchType.EAGER)
  22.     private Person buyer;
  23.    
  24.     @ManyToOne(optional=false, fetch=FetchType.EAGER)
  25.     private AuctionItem item;
  26.    
  27.     private double maxBid;
  28.    
  29.     public Order() {}
  30.     public Order(long id) { setId(id); }

  31.     public long getId() {
  32.         return id;
  33.     }
  34.     public void setId(long id) {
  35.         this.id = id;
  36.     }
  37.    
  38.     public long getVersion() {
  39.         return version;
  40.     }
  41.     public void setVersion(long version) {
  42.         this.version = version;
  43.     }

  44.     public Person getBuyer() {
  45.         return buyer;
  46.     }
  47.     public void setBuyer(Person buyer) {
  48.         this.buyer = buyer;
  49.     }
  50.    
  51.     public AuctionItem getItem() {
  52.         return item;
  53.     }
  54.     public void setItem(AuctionItem item) {
  55.         this.item = item;
  56.     }
  57.    
  58.     public double getMaxBid() {
  59.         return maxBid;
  60.     }
  61.     public void setMaxBid(double maxBid) {
  62.         this.maxBid = maxBid;
  63.     }
  64.    
  65.     public String toString() {
  66.         StringBuilder text = new StringBuilder();
  67.         text.append("id=" + id);
  68.         text.append(", version=" + version);
  69.         text.append(", maxBid=" + maxBid);
  70.         text.append(", buyer=" + buyer.getUserId());
  71.         text.append(", item=" + item);
  72.         text.append(", highestBid=" + item.getHighestBid());
  73.         return text.toString();
  74.     }
  75. }