我想禁用 hibernate 缓存。
session.setCacheMode(CacheMode.IGNORE)
不起作用。
query.setCacheable(false)
也不起作用。
此外,我能否以某种方式配置不对对象 X、Y 进行缓存而对对象 Z 进行缓存?
谢谢。
最佳答案
您可以在从管理器获取可重用 session 对象之前调用 session.clear()
。
即在我们的项目中,我们必须在许多 hibernate session 之间同步更新(每个 http session 一个)。二级缓存工作正常,但必须禁用或清除一级缓存(每个 session )。因此,我们创建了 SessionManager 来存储所有 session 并按需传送。就在交付调用 session.clear()
之前,这解决了问题。
直到您完成您的工作单元 - 一级缓存没问题。
关于java - hibernate 禁用缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6830618/