众所周知,在后续查询中使用的实体可以使用 Hibernate 缓存。我的问题是,这样的缓存实体在以这种方式放入缓存后是否不可变:
a) 从数据库加载实体
b) 当注解可缓存时,Hibernate 将这些实体放入缓存中
c) DAO 接收加载的对象
d) DAO 操作该实体的某些属性(例如解密某些加密字段),但将更改标记为“与缓存无关”
e) 对于后续查询,始终缓存和操作的实体由 Hibernate 缓存返回。
我希望这个愿望清单不是天真的,但我认为,对于基于 Spring/Hibernate 的现代应用程序来说,这些是非常正常的要求。