hibernate createSQLQuery使用CacheQuery?

问题描述 投票:0回答:2
Query query=getHibernateTemplate().getSessionFactory().getCurrentSession().createSQLQuery(
                "select...

getHibernateTemplate().setCacheQueries(true);
List result= query.list();
getHibernateTemplate().setCacheQueries(false);

return result;

我可以知道我什么时候手动“createSQLQuery”如何使用cacheQuery?上面没有缓存结果。 show_sql仍然显示从数据库获取的每个请求

java hibernate ehcache
2个回答
1
投票

当使用createSQLQuery时,AFAIK,如果.addScalar.addEntity,你必须使用明确的setCacheabletrue,否则hibernate会在施法时感到困惑。除此之外,我的理解是它应该有效。


1
投票

尝试配置ApplicationContext

<prop key="hibernate.cache.provider_class">org.hibernate .cache.EhCacheProvider</prop>
<prop key="hibernate.cache.use_second_level_cache">true</prop>
<prop key="hibernate.cache.use_query_cache">true</prop>
© www.soinside.com 2019 - 2024. All rights reserved.