2011-01-25 11 views
0

ボキャブラリは、純粋なSQLを使用するときによくあることです。ちょうどいくつかの静的テーブル(タイプ、都市リストなどの更新されたエントリはほとんどありません)をメモリに保存し、必要に応じて更新します。接続やプロパティバインディングのトンを作成していないので非常に素敵なアプローチです...Hibernate:エンティティのボキャブラリ(インメモリストレージ)

セッション、トランザクション、バージョンなどでHibernateはどうなりますか?そのような語彙を作成することは可能ですか?

p.s。最も興味深いのは、一時的なオブジェクトです。ボキャブラリが使用されるセッションやトランザクションの数が多いためです。だから、私たちはボキャブラリからオブジェクトを得るたびにmerge()を呼び出す必要がありますが、DBとの通信は行われませんか?

答えて

4

Hibernateは読み取り専用マッピング:mutable=falseを追加しました(または、@クラスに追加可能) これはメモリ消費量を減らすはずです。

このクラスのキャッシュを有効にすることができます。

1

語彙項目がそれ自身のエンティティであり、それらへの参照が遅延ロードされている限り、Hibernateの第2レベルのキャッシュはデータベースにアクセスせずにメモリからそれらを提供できるようにすべきです。

関連する問題