hibernate createSQLQuery использовать CacheQuery? - PullRequest
0 голосов
/ 15 марта 2010
Query query=getHibernateTemplate().getSessionFactory().getCurrentSession().createSQLQuery(
                "select...

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

return result;

Могу ли я знать, когда я делаю руководство "createSQLQuery", как использовать cacheQuery? вышеупомянутое не кэширует результат. show_sql по-прежнему показывает каждый запрос, полученный из базы данных

Ответы [ 2 ]

1 голос
/ 15 марта 2010

AFAIK при использовании createSQLQuery, вы должны использовать явное .addScalar или .addEntity, если setCacheable равно true, или спящий режим запутывается при приведении. Кроме того, я понимаю, что это должно работать.

1 голос
/ 15 марта 2010

Попробуйте настроить 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...