問題タブ [hibernate-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.
java - Hibernate キャッシュのクエリ
次のコードがあります。
私が欲しいのは、データベースと Hibernate のキャッシュの両方からオブジェクトを検索できるようにすることです。次の例では、呼び出し時に null を返しますuniqueResult
。まだデータベースにコミットされていない保存済みオブジェクトを取得する方法はありますか?
hibernate-cache - アプリケーションの起動時に「可変エンティティ用に構成された読み取り専用キャッシュ」警告が表示される
Spring3.2 と JPA を Hibernate4.2.1 Final で使用しています
私のエンティティコードの1つは次のようなものです:
この種のエンティティの値は決して変更されないため、キャッシュする必要があります。値は、アプリケーションの起動前にテーブルに挿入されます。これらのテーブルは、ディクショナリ値テーブルのように見えます。
私のehcache.xmlは次のようなものです:
しかし、アプリケーションを起動するたびに、次の警告が表示されます。構成に問題はありますか? これらのエンティティを不変に設定する方法は?
hibernate - 休止状態の二次キャッシュは内部でどのように機能しますか?
Hibernate Second level cache について学び始めました。
Hibernate のセカンド レベル キャッシュを理解するために、次のサンプル コードを試してみました。
2 つの異なるセッションで同じ UserDetails オブジェクト (ID として「1」) を読み取っています。二次キャッシュを有効にしたのと同じオブジェクトを返す必要があります。
しかし、両方のオブジェクトを比較すると、「false」が表示されます。
休止状態の二次キャッシュが内部でどのように機能するか教えてもらえますか?
java - Hibernate は、データの変更中にクエリをキャッシュします
外部サービスに接続して新しい SMS を取得するアプリケーションを開発しています。これらのメッセージは、Hibernate によってローカル データベースに保存されます。私のクライアントは、時間、数などの多数のパラメーターに基づいてこれらのメッセージを検索できます。
「List1」というパラメーターのリストを使用して検索メソッドを呼び出した後、問題なく目的の結果が得られます。この結果を待っている間に、新しいメッセージが届きました。
その後すぐに、同じパラメーター リストを使用して検索メソッドを再度呼び出し、新しいメッセージも取得することを期待していますが、以前の結果が得られます。
データベースを確認したところ、新しいメッセージが存在するため、考えられるのは Hibernate キャッシュだけです。どちらのクエリもまったく同じなので、hibernate は以前と同じ結果セットを返すと思います。
私の仮定が正しい場合、どうすればこの問題を克服できますか? そうでない場合、正確に何が起こっているのですか?
編集
ここに私のソースコードの関連部分があります。クライアントが検索リクエストを開始すると、次の 2 つのメソッドが呼び出されます。
second-level-cache - ハイバネートキャッシング
休止状態では、すでに第 1 レベルのキャッシュがキャッシュに使用できるのに、なぜ第 2 レベルのキャッシュを使用する必要があるのでしょうか? 第 2 レベルの代わりに、キャッシングのために休止状態で第 1 レベルのキャッシュのみを使用できないのはなぜですか?