1 9 10 14 15 16 package enterprise.customer_cmp_ejb.persistence; 17 18 import java.util.ArrayList ; 19 import java.util.Collection ; 20 import java.util.Iterator ; 21 import javax.persistence.*; 22 import javax.persistence.OneToMany; 23 24 25 26 @Entity 27 @NamedQueries( 28 value={@NamedQuery(name="findCustomerByFirstName", query="select object(c) from Customer c where c.firstName= :firstName"), 29 @NamedQuery(name="findCustomerByLastName", query="select object(c) from Customer c where c.lastName= :lastName")} 30 ) 31 32 public class Customer implements java.io.Serializable { 33 34 private String id; 36 private String firstName; 37 private String lastName; 38 private Collection <Address> addresses; 39 private Collection <Subscription> subscriptions; 40 41 public Customer(){ 42 43 } 44 45 @Id 46 @Column(name="customerid") 47 public String getCustomerID(){ return id; 49 } 50 public void setCustomerID(String id){ 51 this.id=id; 52 } 53 54 public String getFirstName(){ 55 return firstName; 56 } 57 public void setFirstName(String firstName){ 58 this.firstName=firstName; 59 } 60 61 public String getLastName(){ 62 return lastName; 63 } 64 public void setLastName(String lastName){ 65 this.lastName=lastName; 66 } 67 68 public Customer(String id, String firstName, String lastName) { 69 setCustomerID(id); 70 setFirstName(firstName); 71 setLastName(lastName); 72 } 73 74 75 @OneToMany(cascade=CascadeType.ALL, fetch=FetchType.EAGER) 76 public Collection <Address> getAddresses(){ 81 return addresses; 82 } 83 public void setAddresses (Collection <Address> addresses){ 84 this.addresses=addresses; 85 } 86 87 @ManyToMany(fetch=FetchType.EAGER ) 88 @JoinTable( 89 name="CUSTOMERBEANSUBSCRIPTIONBEAN", 90 joinColumns=@JoinColumn(name="CUSTOMERBEAN_CUSTOMERID96", referencedColumnName="customerid"), 91 inverseJoinColumns=@JoinColumn(name="SUBSCRIPTIONBEAN_TITLE", referencedColumnName="TITLE") 92 ) 93 public Collection <Subscription> getSubscriptions(){ 94 return subscriptions; 95 } 96 public void setSubscriptions (Collection <Subscription> subscriptions){ 97 this.subscriptions=subscriptions; 98 } 99 100 @Transient 104 public ArrayList getAddressList() { 106 ArrayList list = new ArrayList (); 107 Iterator c = getAddresses().iterator(); 108 while (c.hasNext()) { 109 list.add((Address)c.next()); 110 } 111 return list; 112 } 113 114 @Transient 115 public ArrayList getSubscriptionList() { 116 ArrayList list = new ArrayList (); 117 Iterator c = getSubscriptions().iterator(); 118 while (c.hasNext()) { 119 list.add((Subscription)c.next()); 120 } 121 return list; 122 } 123 124 125 @PostPersist 127 public void postCreate (){ 128 System.out.println("Customer::postCreate:"); 129 } 130 131 132 133 @PostRemove 134 public void ejbRemove() { 135 System.out.println("Customer::postRemove"); 136 } 137 138 139 } 140 | Popular Tags |