0
Query query=getHibernateTemplate().getSessionFactory().getCurrentSession().createSQLQuery(
                "select...

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

return result;

cacheQueryの使用方法を手動で「createSQLQuery」を実行するときに知っていますか?上記は結果をキャッシュしません。show_sqlは、データベースから取得したすべてのリクエストを引き続き表示します

4

2 に答える 2

1

AFAIKを使用する場合は、createSQLQuery明示的.addScalarまたは.addEntityifを使用する必要があります。そうしないと、キャスト時に休止状態が混乱します。それとは別に、私の理解はそれが機能するはずだということです。setCacheabletrue

于 2010-03-15T13:54:59.677 に答える
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>
于 2010-03-15T09:38:06.580 に答える