问题标签 [hibernate-cache]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
143 浏览

java - 当我有 2 个具有不同 DAO 实现的应用程序时如何处理 Hibernate 缓存

我有两个 Web 应用程序使用相同的数据库

  1. 管理网络应用程序,负责修改数据库上的系统配置。
  2. 业务网络应用程序,负责根据配置为用户请求提供服务。

不幸的是,每个应用程序都有自己的 DAO 实现,管理 Web 应用程序仅使用休眠。并且业务网络应用程序正在使用 spring jpa。

现在我想使用集群的 eh-cache 实现第二层缓存和查询缓存我如何告诉管理服务器中的休眠我在其他服务器中有查询缓存,以便管理服务器在任何值发生更改时更新查询缓存。

0 投票
1 回答
2554 浏览

spring - 使用 Hibernate L2 ehcache 和 spring boot enabledCache 时已经存在另一个未命名的 CacheManager

我有一个具有 100 多个域模型的应用程序我想集成 ehcache 和休眠 L2cache,我的应用程序使用 ehcache 来缓存一些服务的方法。我的 CacheConfiguration 是这样的

在 application.yml 中像这样更改休眠缓存配置

但是当我启动我的应用程序时,我得到异常,我有 2 个缓存管理器如何解决这个问题。

我不知道为什么存在两个缓存管理器?如何将配置更改为对休眠和方法都使用一个缓存管理器?

0 投票
0 回答
38 浏览

java - 动态变化参数的休眠缓存

我有一个示例休眠 sql 语句,如下所示。由于此查询具有三个绑定参数,它们会因不同的条件而异,PostComment 实体是否有资格在 Hibernate 中使用 ehcache?请指教。

0 投票
2 回答
729 浏览

grails - Apache Ignite 在启动时挂起

我们使用 apache ignite v2.2 作为 grails 应用程序中的休眠二级缓存。我们有 4 个节点集群,每个集群有 10G RAM。第一个节点启动正常。但随后挂起。有时是第 2 有时是第 3 或第 4。也有成功的创业公司发生,但非常罕见。应用程序总是挂在同一个地方:

在此过程中,所有其他节点都被锁定。配置:

编辑

失败节点的完整线程转储

成功节点的全线程转储

0 投票
0 回答
177 浏览

hibernate - 使用投影时休眠一级缓存

Hibernate 默认使用一级缓存并缓存查询,或者我说会话的实体。

但是投影呢。假设我已经从 3 个表中触发了一个连接查询并得到了它的一个小投影。这里将如何使用一级缓存?

我的意思是域上的一级缓存通过 Id 字段识别实体,但是投影中有 Id 字段?那么使用投影时hibernate一级缓存不起作用吗?

仅供参考:据我所知,一级缓存通过 Id 字段(主键)识别实体,如果我错了,请纠正我。

0 投票
1 回答
291 浏览

mysql - 通过休眠从多个 JVM 实例访问数据库

我的应用程序在多个 JVM 实例中运行(在单独的 docker 容器中)。

该应用程序使用 hibernate(和 spring-data-jpa)来访问单个数据库(MySQL)实例。

我是否需要禁用一些休眠缓存(例如休眠会话的一级缓存)才能使设置工作?

0 投票
0 回答
96 浏览

hibernate - Hibernate 返回最后一次获取和修改的对象,而不是获取新的

我的问题是这个。生病尝试使它简单。我正在使用带有 mysql 的 spring data jpa +spring boot (hibernate config)。

我有一个像这样的类(实体)。

这里其他类

请注意,您可以假设所有缺少的注释/方法/id 都在那里,这是完美的工作代码。我没有在这里添加这些以避免使问题复杂化。

这是我的问题。

当我从数据库中获取此 A 对象时,我将其添加到映射 [storageMap] 并在程序期间从 storageMap 中读取的 A 对象及其 B 对象值字段(A 对象映射中的 B 对象)获取更新。

但我的问题是当我再次从数据库中获取 A 时,它给了我之前获取的脏(修改)对象。但我需要从数据库中获取新副本来重置所有修改。hibernate 不知道它是脏的,因为它的 @Transient ?我怎么能解决这个问题。(我知道如果我在添加到我的 storageMap 之前深度复制从数据库返回的内容会解决问题。还有其他更好的方法吗?)

0 投票
1 回答
344 浏览

java - 为什么当我们通过使用 hibernate 5.3.1.Final 依赖项启用 hibernate.cfg.xml 文件中的查询缓存时会出现异常?

我使用“hibernate 5.3.1.final”依赖项创建了一个小型二级缓存程序。我使用以下依赖项来处理二级缓存。

在此依赖项中,“EhcacheRegionFactory”包名称已更改。因此我们需要在“hibernate.cfg.xml”文件中使用如下属性。

在休眠 5.3 中,二级缓存工作正常,但“查询缓存”不起作用。当我在“hibernate.cfg.xml”中启用查询缓存时,我遇到了异常。

这个怎么解决?

但是当我尝试使用休眠 5.2.17 依赖项时,同一个程序查询缓存工作正常。

0 投票
1 回答
139 浏览

hibernate - 如何在 Jboss EAP 6.2 中为 infinispan 2LC 启用 JMX 统计信息

我使用 infinispan 在 JBoss EAP 6.2 上部署的应用程序中启用了 2LC。我想测量性能增益并希望为 infinispan 启用 JMX 统计信息以查看缓存命中/未命中等。在 EAP 6.3 及更高版本中,我们可以为缓存和缓存容器添加 statistics-enabled="true"。但这不适用于 6.2。JBoss 6.2 有类似的配置吗?

谢谢!

0 投票
1 回答
112 浏览

hibernate - 共享 infinispan 2LC 缓存

我有两个使用相同数据库实体的应用程序。这两个应用程序都部署在 jboss eap 6.2 单独的集群上。数据库表仅从一个应用程序更新,但从两个应用程序读取。这两个应用程序都使用本机休眠 API 从数据库读取/写入数据。

在嵌入式模式下将 infinispan 启用为 2LC 后,如何确保在一个应用程序中更新的缓存实体在第二个应用程序缓存中失效?是否有任何 JMX/JMS 接口来表示缓存失效?

如果我选择远程缓存模式并将 infinispan 作为热棒服务器启动,那么缓存服务器可以与两个应用程序共享。但是我是否需要更新代码以使用热棒客户端 API 从缓存中查询实体?如果从应用程序更新实体,它也会自动更新/使缓存无效。