【问题标题】:Mutable entities in Hibernate CacheHibernate Cache 中的可变实体
【发布时间】:2012-05-25 13:24:56
【问题描述】:

众所周知,可以将 Hibernate 缓存用于后续查询中使用的实体。我的问题是,这样的缓存实体在以这种方式放入缓存后是否不可变:

a) 从数据库中加载实体

b) 当注解可缓存时,Hibernate 将这些实体放入缓存中

c) DAO 接收加载的对象

d) DAO 操作该实体的某些属性(例如解密某些加密字段),但将更改标记为“与缓存无关”

e) 对于后续查询,始终缓存和操作的实体由 Hibernate 缓存返回。

我希望这份愿望清单不要太天真,但我认为,对于基于 Spring/Hibernate 的现代应用程序来说,这些都是非常正常的要求。

【问题讨论】:

    标签: hibernate caching


    【解决方案1】:

    二级缓存不包含实体。它包含 Hibernate 从数据库表中加载的数据行。每次从缓存中加载实体时,都会从缓存中的数据构造一个新的实体实例,就好像它来自数据库一样。

    实体的瞬态字段不存储在缓存中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-08
      • 2015-10-28
      • 2015-06-05
      • 1970-01-01
      相关资源
      最近更新 更多