1 package org.hibernate.test.annotations; 3 4 import java.io.Serializable ; 5 import java.util.Collection ; 6 import java.util.SortedSet ; 7 import javax.persistence.CascadeType; 8 import javax.persistence.Entity; 9 import javax.persistence.FetchType; 10 import javax.persistence.GeneratorType; 11 import javax.persistence.Id; 12 import javax.persistence.JoinColumn; 13 import javax.persistence.OneToMany; 14 import javax.persistence.OneToOne; 15 16 import org.hibernate.annotations.Sort; 17 import org.hibernate.annotations.SortType; 18 import org.hibernate.annotations.Cascade; 19 20 import static org.hibernate.annotations.CascadeType.*; 21 22 23 27 @Entity 28 public class Customer implements Serializable { 29 Long id; 30 String name; 31 SortedSet <Ticket> tickets; 32 Collection discountTickets; 33 Passport passport; 34 35 public Customer() { 36 } 37 38 @Id(generate = GeneratorType.AUTO) 39 public Long getId() { 40 return id; 41 } 42 43 public String getName() { 44 return name; 45 } 46 47 public void setId(Long long1) { 48 id = long1; 49 } 50 51 public void setName(String string) { 52 name = string; 53 } 54 55 @OneToMany(cascade=CascadeType.ALL, fetch=FetchType.EAGER) 56 @JoinColumn(name="CUST_ID") 57 @Sort(type = SortType.COMPARATOR, comparator = TicketComparator.class) 58 public SortedSet <Ticket> getTickets() { 59 return tickets; 60 } 61 62 public void setTickets(SortedSet <Ticket> tickets) { 63 this.tickets = tickets; 64 } 65 66 @OneToMany(targetEntity=org.hibernate.test.annotations.Discount.class, 67 cascade=CascadeType.ALL, mappedBy="owner") 68 @Cascade( {ALL} ) 69 public Collection getDiscountTickets() { 70 return discountTickets; 71 } 72 73 public void setDiscountTickets(Collection collection) { 74 discountTickets = collection; 75 } 76 77 @OneToOne(cascade = CascadeType.ALL) 78 public Passport getPassport() { 79 return passport; 80 } 81 82 public void setPassport(Passport passport) { 83 this.passport = passport; 84 } 85 86 } 87 88 | Popular Tags |