2016-05-01 11 views
0

私は、HibernateをORMとして使用するプロジェクトに参加しています。しかし、データの検証は、アプリケーションレベルの注釈を使用して行われます。だから私の質問です - それは可能ですが、すでに使用されている注釈を既定のHibernate Validatorアノテーションの使用を既存のものに追加するのではなく、検証のために使用することができますか?Hibernate Validator - デフォルトではなくカスタムアノテーションを使用していますか?

答えて

0

アプリケーションレベルの検証だけに頼ることはできませんが、実際にはアノテーションはさまざまなタイプのものであるため、両方とも必要または推奨される可能性があります。

私はHibernateの検証アノテーションを永続性レイヤーとしてのみ見ることができます。少なくとも、データベースに入るものは、最小限の要件を満たしていることを確認してください。彼らはしばしば(少なくともRDBMを扱っているときは)データベース定義そのものと一致しますが、JPA/Hibernateがデータベースサーバーへの要求送信のネットワーク/サーバーヒットを取る前にいくつかの検証を行うことを許可します。

ビジネスルールに固有のアプリケーション検証アノテーション(通常は、データベース管理者が必要としているか知っているものよりも複雑です)があります。

同一の持続層を使用するアプリケーション間で一貫性があるかもしれません。アプリケーションの注釈だけに頼っていて、それらが妥当性を検証していない場合(特に、NULL可能性、空白、有効な値など)、あるアプリケーションによって作成/更新されるデータは、他のアプリケーションでエラーを引き起こす可能性があります。非常に基本的なルールがパーシスタンスレイヤーにしかない場合は、基本的なことが正しいことを(うまくいけば)知っています。

もちろん、永続性検証アノテーションは、ビジネスロジックを実装/確認するために多くのことを行うことができます。したがって、実際にはどこで検証したいかが分かります。

関連する問題