日期:2014-05-19  浏览次数:20763 次

hibernate中关于update的问题
为什么通过set方法重新设置了某个对象的属性后,不需要调用update方法就可以更新数据库了,
代码如下
  tr = session.beginTransaction();

Person person = (Person) session.load(Person.class,new Long(1));

person.setUsername("lisi");
 
person.setPassword("22");
 
 
// session.update(person);
tr.commit();

------解决方案--------------------
因为 hibernate 在进行数据commit的时候有几个状态的。持久态,瞬态,。。。
------解决方案--------------------
你的数据在seesion 缓存中!!commit以后 hibernate会帮你清理缓存,会同步到数据库。建议你看下hibernate session缓存原理!!!!