hibernate在事务开始的时候有个标志 也就是begin,如果中途没有任何错误的话 执行完毕就commit了,如果中途有错误的话 就直接rollback了,并且这个事务中所做过的操作都取消掉了。
如果是查询的话 并不是每一次都从数据库去查询,而是查询过的数据会先放到缓存里面,下次查询时就会先冲缓存里面找该数据 如果没有在从数据库查找数据的。
hibernate 是手动提交事务,比如在操作session之前有一个 (sess 是session的一个实例)sess.begintransaction(); 操作完之后又一个sess.gettransaction().commit(); 提交前会自动调用一个flush()函数,会把缓存中的数据全部输出去,因此数据库中的数据是事务开始到提交间改动的数据!缓存中没有数据!因此是直接持久化到数据库!
用户登录
还没有账号?立即注册
用户注册
投稿取消
文章分类: |
|
还能输入300字
上传中....