1 package net.sf.r4h.model; 2 3 import javax.persistence.CascadeType; 4 import javax.persistence.Entity; 5 import javax.persistence.JoinColumn; 6 import javax.persistence.ManyToOne; 7 import javax.persistence.Table; 8 9 @Entity 10 @Table( name = "BIDS" ) 11 public class Bid extends BaseEntity { 12 13 @ManyToOne 14 @JoinColumn( name = "ITEM_ID" ) 15 private Item item; 16 17 @ManyToOne( cascade = CascadeType.ALL ) 18 @JoinColumn( name = "SELF_REFERENCE_ID" ) 19 private Bid selfReference; 20 21 public Bid getSelfReference() { 22 return selfReference; 23 } 24 25 public void setSelfReference( Bid selfReference ) { 26 this.selfReference = selfReference; 27 } 28 29 public Item getItem() { 30 return item; 31 } 32 33 public void setItem( Item item ) { 34 this.item = item; 35 item.getBids().add( this ); 36 } 37 38 @Override 39 public int hashCode() { 40 final int prime = 31; 41 int result = super.hashCode(); 42 result = prime * result + ((item == null) ? 0 : item.hashCode()); 43 result = prime * result + ((selfReference == null) ? 0 : selfReference.hashCode()); 44 return result; 45 } 46 47 @Override 48 public boolean equals(Object obj) { 49 if (this == obj) 50 return true; 51 if (!super.equals(obj)) 52 return false; 53 if (getClass() != obj.getClass()) 54 return false; 55 Bid other = (Bid) obj; 56 if (item == null) { 57 if (other.item != null) 58 return false; 59 } else if (!item.equals(other.item)) 60 return false; 61 if (selfReference == null) { 62 if (other.selfReference != null) 63 return false; 64 } else if (!selfReference.equals(other.selfReference)) 65 return false; 66 return true; 67 } 68 69 70 }