2016-07-27 12 views
1

私は本当にここにこだわっていて、ウェブ全体で適切な情報を見つけることができませんでした。Hibernate hbm xmlのキャッシュ要素内の領域属性は何をしますか?

Hibernate hbm xmlの<cache />要素内のregion属性は何をしますか?

私は答えで詳細な説明を期待してい離れでのHibernate HBMのXML内のキャッシュ要素についての公式jboss documentationを形成

クエリ/基準にsetCacheble(true)を設定する際に、より具体的に尋ねます。キャッシュ領域がデフォルトでで選択されているはStandardQueryCache領域または実体のhbm.xmlファイル

おかげで指定されたもの。

答えて

1

Hibernate hbm xmlのキャッシュ要素の "region"属性が、キャッシュの名前を与えるために使用されます。これまでにsetCacheble(true)を使用すると、クエリはこのキャッシュ領域にのみ挿入または検索されます。

sessionFactory.evictQueries("cacheReginName"); 

私たちは、次のことができます。

地域名がヒットカウントをチェックするために、特定の地域からすべてのキャッシュを削除するには、例えば多くの場所で使用され、ミスがキャッシュをクリアするなど

例を数えますテーブルの上に複数のキャッシュ領域があります。

Criteria cri = session.createCriteria(tableName.class); 
       cri.setCacheRegion("cacheReginName"); 

または

Query qry = session.createQuery("select name from tableName where Id=1"); 
qry.setCacheRegion("cacheReginName"); 

ときにのみ与えられたキャッシュ領域を検索したり、クエリが見つからない場合、新しいクエリが、この領域に挿入されているよりも、私たちはコードの上に使用し、これまで。

データを取得中にキャッシュ領域が設定されていない場合は、hbm.xmlに記述されているキャッシュ領域が使用されます。

hbm.xmlにキャッシュ領域が記述されていない場合、デフォルトのキャッシュ領域名はクラスタグの名前属性です。

複数のキャッシュ領域を使用することは、必要に応じて行うことができます。

関連する問題