2010-12-07 7 views
11

Hibernate 3.5.6.Finalを3.6.0.Finalに使用したアプリケーションをアップグレードし始めたばかりで、いくつかのヒックアップがあります。最後のヒックアップ私は解決策を見つけることができません。Hibernate 3.6.0.Finalでの保存/更新時のHibernate検証の無効化

3.6.0.Finalは、オブジェクトがHibernateを介して保存/更新されると自動的にBean検証を有効にするようです。これは非常に悪いことです。なぜなら、私のテストの中には、すべてのプロパティを設定することを嫌うものがないからです。正直なところ、すべての「説明」フィールドと無数の他のフィールドを設定するポイントが、何らかの妥当性検査に準拠するためのものではありません。

これは、すべてのテストで有効なオブジェクトを作成するのに時間を費やすことになります(今は1300を超える機能テストがあります)。そして正直なところ、MVCですべての検証が行われており、現在データベースにデータを取得する他の方法はないと確信しているので、無意味です。

また、MVCで1回、次にHibernateでもう1回、Beanを2回検証することで、パフォーマンスが低下することを避けたいと思います。それは私の場合には必要ではない。

これをオフにする方法はありますか?私はJPAではなく、Springと通常のHibernateマッピングファイルを使用しています(私はすべてのアノテーションを嫌います)。

答えて

22

persistence.xmlに以下を追加します。

<validation-mode>NONE</validation-mode> 

またはhibernate.cfg.xmlにプロパティを追加します。

<property name="javax.persistence.validation.mode">none</property> 

は、より多くのオプションのための23.1.2. Configurationを参照してください。

+0

私は春を通して何かできますか?私はJPAを使用していません。標準的なhibernateマッピングXMLファイルです。 – egervari

+0

@egervari:更新されました。 – axtavt

+0

ありがとうございました!ピー! – egervari

2

hibernate.validator.autoregister_listenersプロパティをfalseに設定します。 hibernate.validator.apply_to_ddlをfalseに設定することもできます。

関連する問題