从几种现象,理解缓存与快照的运行机制
//@1 缓存与快照机制
hibernate通过缓存和快照机制,实现对修改内容批量提交。
当查询DB时,会将数据保存到session缓存中,同时在内存中存储一份快照副本。
当我修改数据时,其实修改的是session缓存中的实体内容,并不立即提交DB执行。
当我们主动flush或提交事物时,会对比session缓存与快照中的内容是否一致,将不一致的内容更新到DB中。
//@2 思考与疑惑
以上是对缓存流程的理解,但是通过实验,发现以下几种情况,无法很好的解释:
//@ 2-1
1)
1 | Stut s = new Stut(); |
“ force deletion of re-saved object ”
参考:
如果长时间无法加载,请针对 disq.us | disquscdn.com | disqus.com 启用代理