4

何時間もグーグルしてきましたが、ユーザーはxmlファイル(orm.xml、おそらく?)またはJPAの注釈、あるいはその両方を同時に使用できることに気付きました。私は正しいですか?そのため、私のプロジェクトでは、JPA仕様に含まれていない第2レベルのキャッシュを使用しています。そして、私は次のようなアノテーションを使用します: @ org.hibernate.annotations.Cache(usage = org.hibernate.annotations.CacheConcurrencyStrategy.READ_WRITE)

エンティティごとに。ただし、上記のアノテーションはJPAアノテーションではないと思いますので、orm.xmlに同等のものがあるかどうかわかりません。orm.xmlのxmlスキーマを見てきましたが、スキーマで許可されているそのような休止状態の要素はありません。

orm.xmlで第2レベルのキャッシュ構成を実行できない場合、アノテーション以外の方法はありますか?アノテーションを付けたくない理由は、2つのアプリケーションがあるためです。1つはREAD_WRITE同時実行戦略を使用し、もう1つはREAD_ONLY同時実行戦略を使用します。

前もって感謝します!!!

可為

4

3 に答える 3

2

hibernate.cfg.xml、hibernate.properties、または* .hbm.xmlファイルを使用して、さまざまなキャッシュ戦略で特定のオブジェクトのキャッシュをオンにすることができます

于 2009-05-28T11:54:50.657 に答える
1

アノテーションを使用したくない場合は、休止状態の第2レベルのキャッシュ実装(別名「キャッシュプロバイダー」、たとえばehcache)の構成方法のドキュメントを確認してください。

Hibernateではさまざまなキャッシュプロバイダーを使用できるため、質問に対する一般的な回答はありません。

于 2009-05-28T12:11:50.950 に答える
0

したがって、私の問題の現在の解決策は、各エンティティのすべてのアノテーションをHibernateマッピングファイルに置き換えることだと思います。これにより、さまざまなデプロイメント(アプリケーションも)に対して、さまざまなHibernateマッピングファイルを使用できます。

于 2009-05-29T11:29:27.323 に答える