1 package org.hibernate.test.annotations.manytomany; 3 4 import java.io.Serializable ; 5 import java.util.Set ; 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 18 @Entity 19 public class Woman implements Serializable { 20 private WomanPk id; 21 private String carName; 22 private Set <Man> mens; 23 private Set <Cat> cats; 24 25 @ManyToMany(mappedBy="humanContacts") 26 public Set <Cat> getCats() { 27 return cats; 28 } 29 30 public void setCats(Set <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 <Man> getMens() { 48 return mens; 49 } 50 51 public void setMens(Set <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 getCarName() { 65 return carName; 66 } 67 68 public void setCarName(String carName) { 69 this.carName = carName; 70 } 71 72 73 74 public int hashCode() { 75 return getId().hashCode(); 77 } 78 79 public boolean equals(Object obj) { 80 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 |