我发现了问题,但引入了其他问题。
基本上,在修改
Book对象的
List<PageContent>字段时,Hibernate会执行三件事:
- 过期两个时间戳缓存条目
Book
和PageContent
- 进行许多查询以重置
pageNum
每个PageContent
对象上的字段 Book
从二级缓存中删除对象。
这样可以确保后续查询将搜索新对象等。但是:
- Hibernate无法
PageContent
从二级缓存中删除每个重新编号的对象
结果,对页面列表的任何查询都将正常运行,但随后将退回到实际数据的陈旧二级缓存值。
我认为这是因为Hibernate认为
pageNum更改不是数据更改,而是后台管理的更改。但是,这就是我要读取和显示的数据。
解决方案是在插入/删除发生后手动刷新每个页面。



