Hibernate 启用查询缓存
我需要帮助在hibernate框架中缓存查询。我已经设置了以下属性,缓存l2正在我的项目中工作Hibernate 启用查询缓存,hibernate,caching,Hibernate,Caching,我需要帮助在hibernate框架中缓存查询。我已经设置了以下属性,缓存l2正在我的项目中工作 <property name="hibernate.cache.use_second_level_cache" value="true"/> <property name="hibernate.cache.use_query_cache" value="true"/> 接口 @Repository @RepositoryRestResource(exported = fals
<property name="hibernate.cache.use_second_level_cache" value="true"/>
<property name="hibernate.cache.use_query_cache" value="true"/>
接口
@Repository
@RepositoryRestResource(exported = false)
public interface MyClassRepository extends JpaRepository<Category, Long> {
(...)
@Cacheable("getOnlyNames")
@Query("select m.name from MyClass m")
List<String> getOnlyNames();
@存储库
@RepositoryRestResource(导出=false)
公共接口MyClassRepository扩展了JpaRepository{
(...)
@可缓存(“getOnlyNames”)
@查询(“从MyClass m中选择m.name”)
列出getOnlyNames();
}根据,如果您试图缓存查询结果而不是对象,则语法如下:
entityManager.createQuery("select f from Foo f")
.setHint("org.hibernate.cacheable", true)
.getResultList();
只要您配置了hibernate查询缓存(您这样做了),这就应该可以工作
entityManager.createQuery("select f from Foo f")
.setHint("org.hibernate.cacheable", true)
.getResultList();