2012-01-16 10 views
0

私は基本的に要求が行われるたびにgetSession().createCriteria(ObjClass.class).list();を呼び出すBeanを持っています。すべてのものを最初にロードするのに16秒かかるので、1秒くらいかかります。単体テスト・キャッシュではうまく動作しますが、Beanに対して複数のリクエストが行われた場合でも、キャッシュを使用することはありません。質問はなぜですか?RichFaces beanで動作しないHibernateキャッシュ

Info:それはorg.hibernate.cache.HashtableCacheProviderで2番目のレベルのハイバネート(3.5.x)キャッシュ(2.0)であり、クエリレベルキャッシュの使用がオンになっています。 richfaceの使用3.3.3 keep aliveを有効にしたスコープ付きBeanのリクエスト。

答えて

0

クエリのキャッシュ可能を行わない場合は、キャッシュされません。

getSession().createCriteria(ObjClass.class) 
      .setCacheable(true) 
      .list(); 

あなたはよりきめ細かい設定のためのキャッシュ領域をも設定することができます。

+0

私はテストではcachableクエリを作成せず、テストではbeanと同じDAOを使用します。 –

+0

助けてくれなかった、それは16秒かかりました。今度は初めて17になり、16に減少します。 –

+0

ObjClassクラスはキャッシュ可能ですか?生成されたSQLクエリを見たことがありますか? –

関連する問題