hibernate 是手动提交事务,比如在操作Session之前有一个 (sess 是Session的一个实例)sess.beginTransaction(); 操作完之后又一个sess.getTransaction().commit(); 提交前会自动调用一个flush()函数,会把缓存中的数据全部输出去,因此数据库中的数据是事务开始到提交间改动的数据!缓存中没有数据!因此是直接持久化到数据库!
一般配置ssh2框架事物建立在service基础上,将更新方法放在一个service就不会出现这样的情况,
在service里引入相关dao,然后把业务代码复制粘贴稍作修改即可,可以为以后省很多麻烦事
transaction一旦commit后,内存里的数据就被持久化到数据库里了,内存里的数据没有显示销毁还会在的,直到垃圾回收器判断这个变量不再使用时会销毁掉
用户登录
还没有账号?立即注册
用户注册
投稿取消
文章分类: |
|
还能输入300字
上传中....