java - hibernate 禁用缓存

标签 java hibernate

我想禁用 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/

相关文章:

java - 实体管理器 NULL - Spring MVC JPA

java.lang.illegalargumentException 没有为该名称定义查询[...]

java - 如何从 servlet 连接到数据库。我试过下面的代码,但控制每次都异常

具有通用返回类型的访问者模式的 Java/Kotlin 强制转换异常

java - 复合键 hibernate

java - 如何解决org.hibernate.MappingException?

java - 在 servlet 中通过 Hibernate 连接数据库

java - 以编程方式为 github 项目创建 Jenkins 作业

java - jspWriter的输出缓冲区输出到日志的方法

java - 什么可能是 ParameterizedType 的实例?