在Hibernate中缓存特定对象

时间:2016-05-14 12:00:57

标签: hibernate caching

我的数据库中存储了几个对象,这些对象经常由我的应用程序加载。我正在考虑缓存这些对象以获得更好的性能。

Hibernate Cache的问题在于,您无法告诉它缓存特定对象,因此它会缓存指定实体的每个实例。

我尝试在我自己的缓存数据结构中保存对象,但问题是缓存的对象可能与其他对象有关系,因此对象将要求丢弃/重新加载缓存条目。

有人可以提出任何替代方案吗?

1 个答案:

答案 0 :(得分:0)

您可以通过在Hibernate中使用查询缓存来实现您的用例。

请参阅以下示例代码:

Query query = session.createQuery("from Employee e where e.id=1");
query.setCacheable(true);
List list = query.list()
query = session.createQuery("from Employee e where e.id=1");
query.setCacheable(true);
List list = query.list();

请查看以下官方文件:

https://stackoverflow.com/a/24759583