1. 当属性的get方法返回的值与原值不一样时,hibernate会自动执行update, 如:
public class User {
private String id;
private String name;
...setter...
public String getName() {
return "name:" + name;
}
public String getId() {
return id;
}
}
由于getName()返回的值与原值不一样,hibernate select该对象后会认为该对象已被修改,因此会自动进行数据库同步,执行update
2. 若一个类的实例不需hibernate对其状态进行管理,可在hibernate配置文件中将改类设成不变类型,方法是在*.hbm.xml的class节点中,设置属性mutable=false(该值默认为true)。这样hibernate不会对查询出来的记录进行管理,会在一定程度上提高程序的效率。