3

Hibernate のセカンド レベル キャッシュが有効になっているシナリオがあり、毎日 1000 個のインスタンスが作成され、8 年間保持されるエンティティをキャッシュしたいのですが、クエリは直近の 2 日間しか処理しません。ヒストリカルルックアップのまれなケースでは、コードが日付に依存するため、ヒストリテーブルを作成する必要は避けたいと思います。

Infinispan をレベル 2 プロバイダーとして使用する Hibernate で、Hibernate がエンティティ Foo に使用する特定の属性 (エビクション ポリシー、サイズなど) を持つ特定のキャッシュを非常に具体的に構成することは可能ですか?

4

1 に答える 1

1

はい。Hibernateでは、N個のキャッシュ「リージョン」を持つことができます。これは、さまざまな構成を持ち、一部のエンティティに固有である可能性があります。構成自体はプロバイダー(この場合はInfinispan)によって異なります。Infinispan構成の詳細については、次のドキュメントを参照してください。

http://community.jboss.org/wiki/usinginfinispanasjpahibernatesecondlevelcacheprovider#Advanced_Configuration

エンティティ/コレクションのデフォルトをオーバーライドする方法の例を見てください。そこで、エビクション戦略、ライフスパン、およびキャッシュに保持するエンティティの数を設定できます。

于 2011-02-10T07:01:25.903 に答える