1 22 package org.jboss.ejb3.test.relationships; 23 24 import javax.persistence.CascadeType; 25 import javax.persistence.Entity; 26 import javax.persistence.FetchType; 27 import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; 28 import javax.persistence.Id; 29 import javax.persistence.JoinColumn; 30 import javax.persistence.OneToMany; 31 import javax.persistence.Table; 32 import javax.persistence.Id; 33 import javax.persistence.ManyToOne; 34 import javax.persistence.ManyToOne; 35 import javax.persistence.CascadeType; 36 import javax.persistence.FetchType; 37 import javax.persistence.Entity; 38 39 import java.io.Serializable ; 40 import java.util.ArrayList ; 41 import java.util.Collection ; 42 43 49 @Entity 50 @Table(name = "PURCHASE_ORDER") 51 public class Order implements Serializable 52 { 53 private long id; 54 private Collection <LineItem> items; 55 private Customer customer; 56 57 @Id @GeneratedValue(strategy=GenerationType.AUTO) 58 public long getId() 59 { 60 return id; 61 } 62 63 public void setId(long id) 64 { 65 this.id = id; 66 } 67 68 public void addPurchase(String product) 69 { 70 if (items == null) items = new ArrayList <LineItem>(); 71 LineItem item = new LineItem(); 72 item.setOrder(this); 73 item.setProduct(product); 74 items.add(item); 75 } 76 77 @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER) 78 @JoinColumn(name = "order_id") 79 public Collection <LineItem> getItems() 80 { 81 return items; 82 } 83 84 public void setItems(Collection <LineItem> items) 85 { 86 this.items = items; 87 } 88 89 @ManyToOne 90 @JoinColumn(name="CUST_ID") 91 public Customer getCustomer() 92 { 93 return customer; 94 } 95 96 public void setCustomer(Customer customer) 97 { 98 this.customer = customer; 99 } 100 101 102 } 103 | Popular Tags |