1 package org.hibernate.test.annotations.onetoone; 3 4 import javax.persistence.CascadeType; 5 import javax.persistence.EmbeddedId; 6 import javax.persistence.Entity; 7 import javax.persistence.JoinColumn; 8 import javax.persistence.JoinColumns; 9 import javax.persistence.OneToOne; 10 import javax.persistence.AttributeOverrides; 11 import javax.persistence.AttributeOverride; 12 import javax.persistence.Column; 13 14 15 18 @Entity 19 public class Computer { 20 21 private ComputerPk id; 22 private String cpu; 23 private SerialNumber serial; 24 25 @OneToOne(cascade = {CascadeType.PERSIST}) 26 @JoinColumns({ 27 @JoinColumn(name="serialbrand", referencedColumnName = "brand"), 28 @JoinColumn(name="serialmodel", referencedColumnName = "model") 29 }) 30 public SerialNumber getSerial() { 31 return serial; 32 } 33 34 public void setSerial(SerialNumber serial) { 35 this.serial = serial; 36 } 37 38 public boolean equals(Object o) { 39 if (this == o) return true; 40 if (!(o instanceof Computer)) return false; 41 42 final Computer computer = (Computer) o; 43 44 if (!id.equals(computer.id)) return false; 45 46 return true; 47 } 48 49 public int hashCode() { 50 return id.hashCode(); 51 } 52 53 @EmbeddedId 54 @AttributeOverrides( { 55 @AttributeOverride(name="brand", column=@Column(name="computer_brand") ), 56 @AttributeOverride(name="model", column=@Column(name="computer_model") ) 57 }) 58 public ComputerPk getId() { 59 return id; 60 } 61 62 public void setId(ComputerPk id) { 63 this.id = id; 64 } 65 66 public String getCpu() { 67 return cpu; 68 } 69 70 public void setCpu(String cpu) { 71 this.cpu = cpu; 72 } 73 } 74 | Popular Tags |