hibernate在系统查询(update)而不是自然查询可以不开启事物,将更改放在缓存中,之后在提交事物
,但是在createNativeQuery(string).executeUpdate()必须开启事物,因为这个不能将更改放到缓存中,所以必须马上进行提交从而对数据库进行改变
NativeQuery q = hibernate.base.hibnatemeth.getInstance().getSession().createNativeQuery("insert into STUD_GB_STUD");
hibernate.base.hibnatemeth.getInstance().getSession().beginTransaction();
q.executeUpdate();
只有这样,才能正常的提交事物,同时可以使用Spring的@Transaction Spring会帮助你开启事物

本文探讨了Hibernate框架中不同类型的查询操作如何影响事务管理。在自然查询中,更改可以暂时保存在缓存中,而通过createNativeQuery执行更新则需立即提交事务。
3152

被折叠的 条评论
为什么被折叠?



