hibernate是怎么处理事务的?
答案:2 悬赏:10
解决时间 2021-03-13 04:22
- 提问者网友:你在我心中是最美
- 2021-03-12 04:28
看了不少网上的回答。总是感觉跟着哥问题不搭啊。。
最佳答案
- 二级知识专家网友:荒唐后生
- 2021-03-12 05:09
hibernate在事务开始的时候有个标志 也就是begin,如果中途没有任何错误的话 执行完毕就commit了,如果中途有错误的话 就直接rollback了,并且这个事务中所做过的操作都取消掉了。
如果是查询的话 并不是每一次都从数据库去查询,而是查询过的数据会先放到缓存里面,下次查询时就会先冲缓存里面找该数据 如果没有在从数据库查找数据的。
如果是查询的话 并不是每一次都从数据库去查询,而是查询过的数据会先放到缓存里面,下次查询时就会先冲缓存里面找该数据 如果没有在从数据库查找数据的。
全部回答
- 1楼网友:荒唐后生
- 2021-03-12 06:24
hibernate 是手动提交事务,比如在操作session之前有一个 (sess 是session的一个实例)sess.begintransaction(); 操作完之后又一个sess.gettransaction().commit(); 提交前会自动调用一个flush()函数,会把缓存中的数据全部输出去,因此数据库中的数据是事务开始到提交间改动的数据!缓存中没有数据!因此是直接持久化到数据库!
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯