日期:2014-05-18  浏览次数:20804 次

hibernate save 自动提交,但是delete,update却不行,求解惑!
public void testSave(){
   Session session = HibernateUtil.getSessionFactory().openSession();
   User user = new User();
   session.save(user);//此时输出sql语句,而且数据自动提交,都无需开启实务,而执行update,delete操作却不行
   session.close();
}

求大虾解救我!

------解决方案--------------------
我今天遇到跟你一样的问题,后面调试发现update、delete删除的是缓存的,并未更新到数据库,调用  session.Flush()就可以更新到数据库
------解决方案--------------------
session是个一级缓存,当你save的时候,不会存放在缓存中,直接添加到数据库!update和delete时,会先将session缓存的数据删除,然后提交到数据库,但是你这个时候已经将session关闭了!给分。上面的都是爷啊,LZ说的很清楚了,他先查了再删的。。还一直在说别人id的问题。。