2016-08-24 7 views
0

NONSTRICT_READ_WRITE戦略を使用して、自分のエンティティでHibernateアノテーションを使用しています。オブジェクトを更新または保存した後にキャッシュに入れる方法は?私の場合、Hibernateは、更新操作または保存操作後にデータベースからデータをロードします。擬似コード:Hibernate + Ehcache更新はキャッシュをまっすぐリフレッシュしません

loadUser(); //from DB 
loadUser(); //from cache 
updateUser(); //updating 
loadUser(); //from DB instead of cache 

答えて

0

Hibernateは変更を加えて最新のキャッシュ内容を維持しようとしません。常にエントリを削除して、後続のクエリがDBに移動し、キャッシュに新しいエントリを設定する必要があります。だからあなたが求めていることは不可能です。

これは、Hibernateがメモリ内に見られるすべての突然変異が更新によって生じる完全な突然変異の集合であることを保証できないため、これは設計によるものです。特定のものへの更新に基づいて別の列を更新するDBトリガーがあると思います。

関連する問題