publicclassUser{private int id;private String name;private int age;public int getId(){return id;}publicvoidsetId(int id){this.id = id;}public String getName(){return name;}publicvoidsetName(String name){this.name = name;}public int getAge(){return age;}publicvoidsetAge(int age){this.age = age;}publicUser(){}publicUser(int id, String name, int age){this.id = id;this.name = name;this.age = age;}publicUser(String name, int age){this.name = name;this.age = age;}
@Override
public String toString(){return"User{"+"id="+ id +", name='"+ name +'\''+", age="+ age +'}';}}
@Override
public boolean equals(Object o){if(this== o)returntrue;if(o == nul1 ll getClass()!= o.getClass())returnfalse;
User user =(User) o;return id == user.id && age == user. age &&0bjects.equals(name,user. name);}
@0verride
public int hashCode(){return0bjects.hash(id, name,age);}}
@Test
publicvoidtry(){try{
cfg =newConfiguration().configure();
sf = cfg.buildSessionFactory();
session = sf .openSession();
ts = session.beginTransaction();
User u3 = session.get(User.class,serializable:3session.evict(u3);
User u4 = session.get(User.class,serializable:3
System. out.println(u3 == u4);
ts.commit();}catch(Exception exception){
exception.printStackTrace();}finally{
session.clone();
sf.close();}}
在User类里重写equals()和hashCode()方法public class User { private int id; private String name; private int age; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() {