1 package org.hibernate.test.annotations.fetch; 3 4 import java.io.Serializable ; 5 import java.util.ArrayList ; 6 import java.util.Collection ; 7 import java.util.Date ; 8 import java.util.List ; 9 import javax.persistence.CascadeType; 10 import javax.persistence.Entity; 11 import javax.persistence.FetchType; 12 import javax.persistence.GeneratorType; 13 import javax.persistence.Id; 14 import javax.persistence.OneToMany; 15 import javax.persistence.Table; 16 17 18 21 @Entity 22 @Table(name = "Person") 23 public class Person implements Serializable { 24 static final long serialVersionUID = 1000102; 25 26 private int id; 28 private String firstName; 29 private String lastName; 30 private String companyName; 31 32 private Collection <Stay> stays; 33 34 public Person() { 36 } 37 38 public Person(String firstName, String lastName, String companyName) { 39 this.firstName = firstName; 40 this.lastName = lastName; 41 this.companyName = companyName; 42 } 43 44 public String getCompanyName() { 46 return companyName; 47 } 48 49 public void setCompanyName(String companyName) { 50 this.companyName = companyName; 51 } 52 53 public String getFirstName() { 54 return firstName; 55 } 56 57 public void setFirstName(String firstName) { 58 this.firstName = firstName; 59 } 60 61 @Id(generate = GeneratorType.AUTO) 62 public int getId() { 63 return id; 64 } 65 66 public void setId(int id) { 67 this.id = id; 68 } 69 70 public String getLastName() { 71 return lastName; 72 } 73 74 public void setLastName(String lastName) { 75 this.lastName = lastName; 76 } 77 78 79 81 @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "person") 82 public Collection <Stay> getStays() { 83 return this.stays; 84 } 85 86 public void setStays(List <Stay> stays) { 87 this.stays = stays; 88 } 89 90 91 public void addStay(Date startDate, Date endDate, String vessel, String authoriser, String comments) { 93 Stay stay = new Stay( this, startDate, endDate, vessel, authoriser, comments ); 94 addStay( stay ); 95 } 96 97 public void addStay(Stay stay) { 98 Collection <Stay> stays = getStays(); 99 if ( stays == null ) { 100 stays = new ArrayList <Stay>(); 101 } 102 stays.add( stay ); 103 104 this.stays = stays; 105 } 106 } 107 | Popular Tags |