1 package org.hibernate.test.annotations.referencedcolumnname; 3 4 import java.util.Set ; 5 import java.util.HashSet ; 6 import java.io.Serializable ; 7 import javax.persistence.Entity; 8 import javax.persistence.Id; 9 import javax.persistence.GeneratorType; 10 import javax.persistence.OneToMany; 11 import javax.persistence.JoinColumns; 12 import javax.persistence.JoinColumn; 13 import javax.persistence.CascadeType; 14 15 18 @Entity 19 public class Luggage implements Serializable { 20 private Integer id; 21 private String owner; 22 private String type; 23 private Set <Clothes> hasInside = new HashSet <Clothes>(); 24 25 public Luggage() { 26 } 27 28 public Luggage(String owner, String type) { 29 this.owner = owner; 30 this.type = type; 31 } 32 33 @Id(generate = GeneratorType.AUTO) 34 public Integer getId() { 35 return id; 36 } 37 38 public void setId(Integer id) { 39 this.id = id; 40 } 41 42 public String getOwner() { 43 return owner; 44 } 45 46 public void setOwner(String owner) { 47 this.owner = owner; 48 } 49 50 public String getType() { 51 return type; 52 } 53 54 public void setType(String type) { 55 this.type = type; 56 } 57 58 @OneToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE} ) 59 @JoinColumns( { 60 @JoinColumn(name="lug_type", referencedColumnName = "type"), 61 @JoinColumn(name="lug_owner", referencedColumnName = "owner") 62 } ) 63 public Set <Clothes> getHasInside() { 64 return hasInside; 65 } 66 67 public void setHasInside(Set <Clothes> hasInside) { 68 this.hasInside = hasInside; 69 } 70 71 public boolean equals(Object o) { 72 if ( this == o ) return true; 73 if ( !( o instanceof Luggage ) ) return false; 74 75 final Luggage luggage = (Luggage) o; 76 77 if ( !owner.equals( luggage.owner ) ) return false; 78 if ( !type.equals( luggage.type ) ) return false; 79 80 return true; 81 } 82 83 public int hashCode() { 84 int result; 85 result = owner.hashCode(); 86 result = 29 * result + type.hashCode(); 87 return result; 88 } 89 } 90 | Popular Tags |