KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > hibernate > test > annotations > manytomany > Woman


1 //$Id: Woman.java,v 1.2 2005/06/23 14:10:56 epbernard Exp $
2
package org.hibernate.test.annotations.manytomany;
3
4 import java.io.Serializable JavaDoc;
5 import java.util.Set JavaDoc;
6 import javax.persistence.CascadeType;
7 import javax.persistence.Entity;
8 import javax.persistence.Id;
9 import javax.persistence.JoinColumn;
10 import javax.persistence.JoinTable;
11 import javax.persistence.ManyToMany;
12 import javax.persistence.Table;
13
14 /**
15  * Woman knowing several mens
16  * @author Emmanuel Bernard
17  */

18 @Entity
19 public class Woman implements Serializable JavaDoc {
20     private WomanPk id;
21     private String JavaDoc carName;
22     private Set JavaDoc<Man> mens;
23     private Set JavaDoc<Cat> cats;
24
25     @ManyToMany(mappedBy="humanContacts")
26     public Set JavaDoc<Cat> getCats() {
27         return cats;
28     }
29
30     public void setCats(Set JavaDoc<Cat> cats) {
31         this.cats = cats;
32     }
33
34     @ManyToMany(cascade = {CascadeType.ALL})
35     @JoinTable(
36             table = @Table(name="Man_Woman"),
37             joinColumns = {
38                 @JoinColumn(name = "womanLastName", referencedColumnName = "lastName"),
39                 @JoinColumn(name = "womanFirstName", referencedColumnName = "firstName")
40             },
41             inverseJoinColumns = {
42                 @JoinColumn(name = "manIsElder", referencedColumnName = "elder"),
43                 @JoinColumn(name = "manLastName", referencedColumnName = "lastName"),
44                 @JoinColumn(name = "manFirstName", referencedColumnName = "firstName")
45             }
46     )
47     public Set JavaDoc<Man> getMens() {
48         return mens;
49     }
50
51     public void setMens(Set JavaDoc<Man> mens) {
52         this.mens = mens;
53     }
54
55     @Id
56     public WomanPk getId() {
57         return id;
58     }
59
60     public void setId(WomanPk id) {
61         this.id = id;
62     }
63
64     public String JavaDoc getCarName() {
65         return carName;
66     }
67
68     public void setCarName(String JavaDoc carName) {
69         this.carName = carName;
70     }
71
72
73
74     public int hashCode() {
75         //a NPE can occurs, but I don't expect hashcode to be used before pk is set
76
return getId().hashCode();
77     }
78
79     public boolean equals(Object JavaDoc obj) {
80         //a NPE can occurs, but I don't expect equals to be used before pk is set
81
if (obj != null && obj instanceof Woman) {
82             return getId().equals( ( (Woman) obj).getId() );
83         }
84         else {
85             return false;
86         }
87     }
88
89 }
90
Popular Tags