hibernate 中 使用 HQL 更新会不会清除对象二级缓存?

小杨阿哥哥 发布于 2018/08/15 16:53
阅读 403
收藏 0

比如我有一个 Entity 叫做 User,然后开启了二级缓存,然后查询 id 为1的 User,然后使用 HQL 来更新,然后我再次查询 id 为1的 User,是会返回缓存的内容还是返回数据库中的内容?

加载中
0
魔力猫
魔力猫

如果你用了update语句,那么二级缓存会失效。因为系统无法判断二级缓存的对象哪些失效了。如果你是update(对象)的方式更新,则系统可以通过ID确认哪个二级缓存对象需要更新,系统能够维护二级缓存。

T
TDE小明嘿
更新操作时 数据库和缓存会同时更新 保持一致
返回顶部
顶部