hibernateキャッシュ戦略・・・の書き方
キャッシュ戦略"read-only"*1を設定してみた。
<hibernate-mapping> <class name="hoge.Hoge" table="HOGE"> <cache usage="read-only"/> (略) </hibernate-mapping>
起動すると以下の警告がでる。
WARN (CacheFactory.java:36) - read-only cache configured for mutable: hoge.Hoge
理由が良く分からなかったのでソースを調べる。
public final class CacheFactory { (略) if ( usage.equals(READ_ONLY) ) { if (mutable) log.warn( "read-only cache configured for mutable: " + name ); ccs = new ReadOnlyCache(); } (略) }
つまり記述漏れということだ。
<hibernate-mapping> <class name="hoge.Hoge" table="HOGE" mutable="false"> <cache usage="read-only"/> (略) </hibernate-mapping>
これで起動時の警告が一つ減った。
すっきり〜。
mutableってのはなんじゃいというのはドキュメントに。
mutable="false" と指定された更新不能クラスは、 アプリケーションから更新や削除をできません。 これにより、Hibernateのパフォーマンスが少しだけ良くなります。 *2
・・・弱気だ。