私の休止状態のプロジェクトで第2レベルのキャッシュを使用したいが、私はちょうど休止状態の第2レベルのキャッシュについて少し知っている。これは私のコードで、どのような設定と.jarファイルが必要ですか?これらの私のhibernate.cfg.xmlファイル休止状態第2レベルキャッシュ<< net.sf.ehcache.hibernate.EhCacheProvider >>
<property name="hibernate.cache.use_query_cache">true</property>
<property name="hibernate.cache.use_second_level_cache">true</property>
<property name="hibernate.cache.provider_class">net.sf.ehcache.hibernate.EhCacheProvider</property>
と私は、他の設定を変更shoud知ってほしいこれらのjarファイルehcache-1.6.1.jar, ehcache-1.6.1-javadoc.jar, ehcache-1.6.1-sources.jar
を追加する設定 は私が設定されていますか?
プロジェクトで第2レベルのキャッシュが使用されていることをどのように理解できますか?ただ、この設定を置けば
、これを使用して、自動的に休止状態または私は(任意の注釈または何か他のもののように)私の.javaクラスでant他のコードを使用する必要があります
1- Shoud私はEntityクラスの上に@Cacheを定義していますか?私のプロジェクトで2番目のレベルのキャッシュを使用したい場合や、上記の@Cacheを特定のエンティティクラスに設定することはできますか? 2使用するsecond_level_cacheの実装のアノテーション構文に違いはありませんか? (私はnet.sf.ehcache.hibernate.EhCacheProviderを使用します) – Am1rr3zA
1)すべてのエンティティをキャッシュ可能にするべきではありません。キャッシングのベスト候補は頻繁に読み込まれますが頻繁に変更されることはなく、あまり多くはありません。 HibernateのSQLログを有効にして、 "SELECT * FROM my_entity_table WHERE ID =?"クエリは最も頻繁に実行され、エンティティキャッシングの候補になる可能性があります。 2)実装は、あなたが行ったように、プロパティを介して設定されます。注釈は、使用する実装に関係なく同じです。実装によっては、キャッシュ・ストラテジをサポートしないものもあります。私の答えに掲載されたリンクは、すべての実装機能をリストしています。 – ChssPly76
クエリキャッシュの最新のドキュメントは次のとおりです:[Hibernate 4.3](http://docs.jboss.org/hibernate/orm/4.3/manual/en-US/html/ch20.html#performance-querycache-regions) –