问题标签 [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.
java - 查询休眠缓存
我有以下代码:
我想要的是能够从数据库和 Hibernate 的缓存中搜索对象。以下示例在调用时返回 null uniqueResult
。有没有办法检索尚未提交到数据库的已保存对象?
hibernate - 是否也在缓存实体中显示休眠 sql 查询
我通过将日志级别设置为 hibernate.sql 包的调试来在日志中打印 sql 查询。日志中显示的查询很少来自在实体上使用缓存“@Cache(usage=CacheConcurrencyStrategy.READ_ONLY)”的实体。我的问题是,即使实体被缓存,日志也会显示查询,还是因为实体没有被缓存而显示查询。
hibernate - 休眠存储过程查询缓存
我们正在使用休眠将存储过程结果映射到 java 对象。它使用休眠 4.1.x 在 SQL Server 2008 上执行
它可以很好地获取结果。
但是,当启用二级缓存 (ehcache) 和查询缓存时。
添加查询缓存可以正常工作。然而,经过几次通话,它给出的错误如下。
与上面的日志一样,它试图在一段时间后作为 SELECT 查询而不是存储过程调用来获取。
知道为什么会这样吗?因此,查询缓存不能用于在休眠中缓存存储过程。有没有其他方法可以为存储过程结果使用缓存?
提前感谢您的帮助。
java - Hibernate 二级缓存和 JUnit
我正在尝试将 SecondLevelCache 与休眠一起使用。这是我的 xml 配置文件:
我的 ehcache.xml:
在我的实体上有这样的注释
当我运行 UnitTest 时,出现以下错误(如果我在其上设置或未在 @DirtiesContext 上进行注释,问题是相同的):
我刚刚使用休眠 xml 文件配置了我的 CacheManager,但我不知道如何管理该错误。我在某处读到我必须使用 RegionFactory 但在 ehcache 文档中这不是最佳实践。我怎样才能以正确的方式解决我的问题?
hibernate-cache - 应用程序启动时显示“为可变实体配置的只读缓存”警告
我将 Spring3.2 和 JPA 与 Hibernate4.2.1 Final 一起使用
我的实体代码之一是:
我们想要缓存这种实体,因为它们的值永远不会改变。这些值将在应用程序启动之前插入到表中。这些表看起来像字典值表。
我的 ehcache.xml 如下所示:
但是每次我启动我的应用程序时,都会出现以下警告,我的配置有什么问题吗?如何将这些实体设置为不可变?
ehcache - ehcache WAN 解决方案 - 我应该自己推出吗?
我们最近搬到了 ehcache,性能和可靠性都很棒。我们对缓存的主要用途是失效策略,当休眠实体发生变化时,它会向集群中的所有其他节点发送失效信息。
我现在正在研究用于休眠缓存的 WAN 复制。我看过Terracotta 的产品,但我对支付 Terracotta 并不真正感兴趣,尽管我意识到这可能是最好的解决方案。
我想知道是否有人推出了他们自己的版本。我认为数据中心 a 可以有一个缓存侦听器,然后它将调用数据中心 b 中的 Web 服务并通知它已失效的缓存项。
我会感谢任何有 WAN 复制经验的人的见解,尤其是与休眠缓存相关的人。
hibernate - hibernate二级缓存如何在内部工作?
我已经开始学习 Hibernate 二级缓存。
我尝试使用以下示例代码来了解 Hibernate 二级缓存。
我在 2 个不同的会话中读取相同的 UserDetails 对象(以 '1' 作为 id)。它应该返回与我启用二级缓存相同的对象。
但是当我比较这两个对象时,它显示为“假”。
有人可以让我知道休眠二级缓存在内部是如何工作的吗?
java - 用hibernate读取数据不与数据库同步
我正在使用休眠与数据库进行交互。插入、删除、更新操作没有问题,因为它们由提交语句session.getTransaction.commit()结束。
但是,虽然selecting data,listing records
休眠返回先前显示的数据并且不显示所有新记录或所做的更新。
所以在问这个问题之前,我尝试(两周前)导航到类似的问题,但在应用所有建议时我没有找到答案。
(A) 启用二级缓存 (b) 增加隔离级别
这对我来说变得很奇怪,因为当我想更新最近插入的记录时,我得到以下信息。
这是我正在使用的一种选择方法!
我的休眠配置文件是这样的:
所以我很高兴提出两个问题:
我的方法有什么问题还是我的休眠配置有问题?
是什么阻止休眠与数据库同步以获取新插入的记录?
谢谢。
java - Hibernate 在更改数据时缓存查询
我正在开发一个连接到外部服务以获取新 SMS 的应用程序。这些消息由 Hibernate 存储在本地数据库中。我的客户可以根据时间、数量等众多参数搜索这些消息。
在使用名为“List1”的参数列表调用搜索方法后,我得到了想要的结果,没有任何问题。虽然在我等待这个结果时,一条新消息已经到来。
不久之后,我再次使用相同的参数列表调用搜索方法,我也希望得到新消息,但我得到了以前的结果。
我已经检查了我的数据库并且存在新消息,所以我能想到的只是 Hibernate 缓存。由于两个查询完全相同,我猜 hibernate 返回与以前相同的结果集。
如果我的假设是正确的,我该如何克服这个问题?如果不是,那么究竟发生了什么?
编辑
这是我的源代码的相关部分。客户端发起搜索请求时会调用以下两种方法:
second-level-cache - 休眠缓存
在休眠中,一级缓存已经可以用于缓存,那么为什么我们必须使用二级缓存呢?而不是二级缓存,为什么我们不能在休眠中只使用一级缓存进行缓存?