2008-09-10 8 views
7

Java Persistence API(注釈付きエンティティ)を使用する場合、Hibernateの第2レベルキャッシュを有効にするために必要な手順は何ですか?それが動作していることを確認するにはどうすればよいですか?私はJBoss 4.2.2.GAを使用しています。JBoss 4.2でJPAでHibernateの第2レベルキャッシュを有効にする

Hibernateのドキュメントから、私がキャッシュを有効にしてpersistence.xmlのにおけるキャッシュ・プロバイダーを指定する、のようにする必要がありますようだ:

必要とされる他に何
<property name="hibernate.cache.use_second_level_cache" 
      value="true" /> 
<property name="hibernate.cache.provider_class" 
      value="org.hibernate.cache.HashtableCacheProvider" /> 

? JPAエンティティに@Cache注釈を追加する必要がありますか?

キャッシュが機能しているかどうかを確認するにはどうすればよいですか?クエリを実行した後にキャッシュ統計にアクセスしようとしましたが、Statistics.getSecondLevelCacheStatisticsはnullを返します。これはおそらく、使用する '地域'の名前がわからないためです。

答えて

3

私は、キャッシュの注釈を追加して、第2レベルのキャッシュ(読み取り専用、読み取り - 書き込みなど)を使用する方法を休止状態に伝える必要があると考えています。これは私のアプリの場合(春/伝統的な休止状態とehcacheを使用して、あなたの走行距離が異なる場合があります)でした。キャッシュが表示されたら、私は彼らが休止状態から使用していたメッセージを見始めた。

4

フォローアップ:最後に、注釈を追加した後、私はそれがEhcacheので作業している、すなわち

<property name="hibernate.cache.provider_class" 
      value="net.sf.ehcache.hibernate.EhCacheProvider" /> 
+1

注休止3.3+で、このパラメータは、今hibernate.cache.region.factory_classとではないこと上記は何ですか?これを後世のために加える;) –

関連する問題