package kr.pe.kwonnam.hibernate4memcached.example.entity; import org.hibernate.annotations.Cache; import org.hibernate.annotations.CacheConcurrencyStrategy; import javax.persistence.*; import java.io.Serializable; import java.util.Date; /** * @author KwonNam Son (kwon37xi@gmail.com) */ @Entity @Table(name = "people") @Cache(usage = CacheConcurrencyStrategy.READ_ONLY, region = "people") public class Person implements Serializable { @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "person_id", nullable = false) private long id; @Column(name = "name", length = 32, nullable = false) private String name; @Column(name="birthdate", nullable = true) @Temporal(TemporalType.DATE) private Date birthdate; public long getId() { return id; } public void setId(long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Date getBirthdate() { return birthdate; } public void setBirthdate(Date birthdate) { this.birthdate = birthdate; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Person person = (Person) o; if (id != person.id) return false; return true; } @Override public int hashCode() { return (int) (id ^ (id >>> 32)); } @Override public String toString() { return "Person{" + "id='" + id + '\'' + ", name='" + name + '\'' + ", birthdate=" + birthdate + '}'; } }