1 package ejava.jpa.examples.cache; 2 3 import javax.persistence.*; 4 5 @Entity 6 @Table(name="JPACACHE_ZIPADDR") 7 @Cacheable(true) 8 public class ZipAddress { 9 @Id 10 @Column(length=10) 11 private String zip; 12 @Column(length=32, nullable=false) 13 private String city; 14 15 protected ZipAddress() {} 16 public ZipAddress(String zip, String city) { 17 this.zip=zip; 18 this.city=city; 19 } 20 21 public ZipAddress(String zip) { 22 this.zip=zip; 23 } 24 public String getZip() { return zip; } 25 public String getCity() { return city; } 26 27 @Override 28 public String toString() { 29 return zip + "=" + city; 30 } 31 32 @Override 33 public int hashCode() { 34 return zip==null? 0 : zip.hashCode(); 35 } 36 37 @Override 38 public boolean equals(Object obj) { 39 if (obj==null) { return false; } 40 if (obj==this) { return true; } 41 if (!(obj instanceof ZipAddress)) { return false; } 42 ZipAddress rhs = (ZipAddress) obj; 43 return zip==null ? rhs.zip==null : zip.equals(rhs.zip); 44 } 45 }