【问题标题】:Caching Specific Objects in Hibernate在 Hibernate 中缓存特定对象
【发布时间】:2016-05-14 12:00:57
【问题描述】:

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

Hibernate Cache 的问题是你不能告诉它缓存特定的对象,所以它会缓存指定实体的每个实例。

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

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

【问题讨论】:

    标签: hibernate caching


    【解决方案1】:

    您可以通过使用 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://docs.jboss.org/hibernate/orm/4.2/manual/en-US/html/ch20.html#performance-querycache-enable

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-12
      • 2013-01-20
      • 2019-02-06
      • 1970-01-01
      • 1970-01-01
      • 2020-07-11
      • 2012-09-15
      • 2010-11-23
      相关资源
      最近更新 更多