【问题标题】:Hibernate Query cache understandingHibernate Query缓存理解
【发布时间】:2012-11-06 06:35:16
【问题描述】:

我已经阅读了很多资料,但我无法消除对休眠二级缓存的疑问。

1) 可以说,我有一个返回 1000 条记录的查询。 (例如,来自年龄>30 的员工)。 我已将查询设为可缓存。与此同时,记录数增加了,现在同一个查询的结果应该是 2000。现在下次我执行同一个查询时,hibernate 如何从缓存中获取记录。它只获取新记录吗?

2) 场景 2。假设我执行查询(例如,来自年龄>30 的员工)。我有 1000 条记录。现在记录在内部更新。我再次执行相同的查询。在这种情况下,hibernate 是如何获取的?

【问题讨论】:

    标签: hibernate caching


    【解决方案1】:

    查询缓存不缓存实际实体的状态 结果集;它只缓存标识符值和值的结果 输入。

    场景 1: Hibernate 将时间戳与查询一起存储以跟踪新记录,如果 hibernate 找到新记录,则将再次触发查询以驱逐旧数据。

    场景 2:这将始终返回更新的记录,因为实际状态对象从未与查询一起缓存

    更多详情请参考link

    【讨论】:

      猜你喜欢
      • 2014-03-15
      • 2011-05-11
      • 2013-06-30
      • 1970-01-01
      • 2016-12-03
      • 2015-12-26
      • 1970-01-01
      • 2014-06-25
      • 2011-06-15
      相关资源
      最近更新 更多