2017-04-03 46 views
1

应用程序正在使用Hibernate 3,并且需要在保存到数据库时缓存数据。几天后休眠缓存过期

  1. 是否可以只缓存实体的几列而不是全部?

  2. 是否可以在几天后设置实体的到期时间?例如,是否可以将到期时间设置为3天,以便记录可以在3天后自动从缓存中删除?

我已经开始研究缓存过程,但不确定是否可以满足上述两个需求。

回答

0
  1. 不,这是不可能的只缓存列的子集在Hibernate的二级缓存的实体,否则Hibernate的需要组装这种实体实例时去数据库读取其余数据无论如何,从而击败了缓存的目的。
  2. 是的,可以设置缓存数据的到期时间。 Hibernate将其留给二级缓存提供者来管理过期和驱逐策略,因此您需要在那里配置它(请参阅您使用的缓存提供者的文档)。

更多详细信息herehere