検索
カレンダー
2010年1月
« 12月   2月 »
 12
3456789
10111213141516
17181920212223
24252627282930
31  
ブログメニュー
Amazon検索
キーワード:

Hibernate Validator を自動的に動作させないようにするには

2010年1月28日

Hibernate Validator を Hibernate と組み合わせるとINSERTやUPDATEするときに自動的に動作しますが、アプリケーションレベルでバリデーションを行っているときは、この動作が只のオーバヘッドになってしまいかねません。

この自動バリデートを停止するには、hibernate.validator.autoregister_listeners を false にすればいいみたいです。

Hibernate Validator のリファレンスマニュアルによると『Such a need is very uncommon and not recommended.』らしいですが(^^;
(2010年2月17日追記)
これは Hibernate Search を使うときの警告みたいですね。単体で使うときは非推奨じゃないみたいです。

参照:
Hibernate Validator: Chapter 2. Using the Validator framework
Hibernate Annotations: Chapter 4. Additional modules

HibernateEntityManagerでのクエリキャッシュ

2010年1月25日

HibernateEntityManagerを使ってJPA実装としてHibernateを使うときに、クエリキャッシュの有効/無効の切り替え方がわからなくて調べたのでメモ。

まず、 persistence.xml で hibernate.cache.use_query_cache を true に設定します。

次に、ソースコードで EntityManager から作った Query に対して、以下のように設定します。

query.setHint("org.hibernate.cacheable", true);

これで、その query に対してクエリキャッシュが有効になります。

ジェトロに感謝!