public class User implements Serializable{ private String firstname; private String lastname; private int age;
public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getFirstname() { return firstname; } public void setFirstname(String firstname) { this.firstname = firstname; } public String getLastname() { return lastname; } public void setLastname(String lastname) { this.lastname = lastname; }
public boolean equals(Object obj){ if(!(obj instanceof User)){ return false; }else{ User user = (User)obj; return new EqualsBuilder().appendSuper(super.equals(obj)) .append(this.firstname, user.firstname) .append(this.lastname, user.lastname) .isEquals(); } }
public int hashCode(){ return new HashCodeBuilder(-528253723, -475504089) .appendSuper(super.hashCode()) .append(this.firstname) .append(this.lastname) .toHashCode(); } }
EqualsBuilder HashCodeBuilder均为 apache common lang包中的工具类。
对于Session.load方法,我们可将User类对象本身作为查询条件:
User user = new User(); user.setFirstname("hello"); user.setLastname("world"); user = (User)session.load(User.class, user); System.out.println("age: " + user.getAge());