問題タブ [second-level-cache]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
761 参照

java - 「キャッシュされたアイテムがロックされました」により、HibernateでSelectステートメントが発生します

キャッシングをHibernateで希望どおりに機能させるのに問題があります。私が抱えているこの問題を再現するために、いくつかのサンプルコードを作成しました。

それ自体のインスタンスを含むオブジェクトが1つあります。たとえば、より多くのパーツで構成されているパーツ。

更新されたオブジェクトが入ってくるときにHibernateが使用するselectステートメントを本当に最小化する必要があります。ログを調べた後、SELECTステートメントを引き起こしている次のログ出力が表示されます。

キャッシュされたアイテムがロックされました:com.cache.dataobject.Part.parts#1

キャッシュされたアイテムがロックされないように、アノテーションマッピング、xmlファイル、キャッシュプロバイダー、またはロジックで何を変更できますか?私は本当にそのselectステートメントを取り除きたいです。

Entity、DataObject、テスト対象のコード、およびログ出力を含めました。

Hibernateバージョン: 3.4

EHCacheバージョン: 1.2.3(Hibernateダウンロードに含まれています)

パーツDataObject:

CacheDao:

クライアントコードのテスト:

Persistence.xml

EhCache.xml

出力ログ:

0 投票する
1 に答える
2444 参照

nhibernate - 流暢なマッピングとSyscache2の第2レベルのキャッシングを備えたNHibernate

キャッシュしたい非常に単純なCountryエンティティがあります。これは完全に機能しますが、開発者がインスタンスの状態を変更できないように、キャッシュされたインスタンスのクローンバージョンを返すか、読み取り専用にする必要があります。

どうすればこれを達成できますか?Fluent Readonly()メソッドがこれを強制するだろうと思いましたが、そうではありません。

流暢なマッピングのサンプル:

私の単体テストは、エンティティがキャッシュされ、同じエンティティが後続の取得で返されることを明確に示していますが、永続ストアからロードされたオブジェクトは不変である必要があります。

ありがとう!

0 投票する
3 に答える
2106 参照

java - orm.xmlで第2レベルのキャッシュを休止状態にしますか?

何時間もグーグルしてきましたが、ユーザーは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同時実行戦略を使用します。

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

可為

0 投票する
2 に答える
13006 参照

java - 注釈を変更せずに、Hibernate で特定のエンティティの 2 次キャッシュを無効にする方法

アプリケーションで Hibernate のセカンド レベル キャッシュを使用しています。特定のビジネス上の理由から、エンティティ アノテーションを変更できなくなりました

私のプロジェクトでは、データベースを Hibernate から変更する以外に、Hibernate を経由しないネイティブ SQL が他にも存在します。したがって、データベースがネイティブ SQL から更新された後、Hibernate の第 2 レベルのキャッシュ データが古くなる可能性があります。そのため、特定のエンティティの 2 次キャッシュを無効にする必要があります (プログラムによって、または注釈を変更する以外の方法で)。

前もって感謝します!

0 投票する
2 に答える
5691 参照

java - Hibernateの第2レベルのキャッシュehcache.xml、エンティティのキ​​ャッシュ設定をHIbernateに読み取ることができません

明確で簡単にするために、2つのプロジェクトがあります。1。このプロジェクトにすべてのエンティティクラスがあるエンティティプロジェクト。2.アプリケーションを実行するためのmain()関数を含むプロジェクト、Myehcache.xmlはこのプロジェクトのクラスパスに配置されます。

私の問題は次のとおりです。ehcache.xmlのdefaultCache要素を変更でき、SQLログファイルから変更を確認できます。ただし、HibernateはdefaultCache要素のみを読み取ると思います。これは、 ehcache.xmlの特定のエンティティのキ​​ャッシュ要素を変更しても、SQLログには変更がないためです。

例: defaultCache要素のmaxElementsInMemoryを0設定した場合、エンティティの​​ャッシュ要素のmaxElementsInMemoryを100または0設定しても、そのエンティティは2番目のレベルのキャッシュにキャッシュされません。defaultCache要素のmaxElementsInMemory100に設定すると、エンティティの​​ャッシュ要素のmaxElementsInMemoryを100または0設定しても、そのエンティティは常に2番目のレベルのキャッシュにキャッシュされます。

では、エンティティのキ​​ャッシュ要素のname属性が誤って設定されており、Hibernateから読み取ることができないのではないでしょうか。

0 投票する
1 に答える
5720 参照

java - ehcache.xmlでQueryCacheを構成する方法

私のSQLログファイルから、QueryCacheの物理プロパティは次の要素によって構成されていると思います。

また、以下の要素をehcache.xmlに追加した場合でも、SQLログから、QueryCacheの物理プロパティは引き続きエレメント。

メモリ内のQueryCacheを有効にし、その間、デフォルトで他の(メモリ内の)ものを無効にしたいだけです。多分の名前属性要素が正しくありませんか?本<>からコピーします。または、他の要素を使用する必要がありますか?たぶん、ある種の要素がありますか?

ありがとう。

0 投票する
2 に答える
7006 参照

hibernate - Hibernateの第2レベルのキャッシュ<>>

hibernateプロジェクトで2番目のレベルのキャッシュを使用したいのですが、hibernateの2番目のレベルのキャッシュについて少し知っています。コードでこれをどのように使用するか、必要な構成と.jarファイルを説明できますか?これらの設定をhibernate.cfg.xmlファイルに設定しました

これらのjarファイルehcache-1.6.1.jar, ehcache-1.6.1-javadoc.jar, ehcache-1.6.1-sources.jar を追加してください。他の構成を変更する必要がありますか?

プロジェクトが第2レベルのキャッシュを使用していることをどのように理解できますか?

この設定を行うだけの場合、休止状態はこれを自動的に使用するか、.javaクラスで他のコードを使用する必要があります(注釈など)

0 投票する
4 に答える
8208 参照

hibernate - クラスターの L2 キャッシュを休止状態にする

Q1: このベンダーだけがクラスターで Hibernate L2 キャッシュをサポートしているというのは正しいですか?

  • Hibernate の Terracotta (商用)
  • SwarmCache (2003 年以降はリリースされていません)
  • JBoss キャッシュ 1.x
  • JBoss キャッシュ 2

Q2: Hibernate L2 キャッシュに代わるものはありますか? (おそらくDBキャッシング?)

0 投票する
1 に答える
407 参照

hibernate - HibernateのトランザクションL2キャッシュ

Q1: 「トランザクション」戦略は何を保証しますか?

Q2: JTAをトランザクションマネージャーとして使用する「トランザクション」戦略と「読み取り/書き込み」戦略の違いは何ですか(プロパティで指定)。

Q3: .hbm.xmlファイルで一部のエンティティに「トランザクション」戦略を指定し、「トランザクション」戦略をサポートしないL2キャッシュを使用するとどうなりますか。