アプリケーションのいくつかのレイヤーで検証が必要であることを理解しています。ただし、適用される検証がすべてのレイヤーで同じである場合 (ほとんどの場合)、共通の検証フレームワークを使用することは理にかなっています。それが Hibernate Validator の目標の 1 つです。
オブジェクトの有効な状態を確保するために、エンティティのセッター内に検証を配置する予定です。また、Hibernate がそれらを使用してエンティティ オブジェクトを永続化する前に検証できるように、エンティティに注釈制約を設定しました。次に、独自の検証 (基本的に Hibernate アノテーションと同じ制約をチェックする) を記述する代わりに、セッター内で Validator インスタンスを使用してプロパティを検証しないでください。私はそれを使うことができvalidator.validateProperty()
ました。
しかし、私の懸念はパフォーマンスです。ValidatorFactory を構築し、各セッター内でバリデーターのインスタンスを取得するのはコストがかかりますか? それとも、パフォーマンスについて考えすぎていますか? Validator を使用しない場合は、セッター内の検証に Apache Commons ライブラリを選択します。
それで、どちらがより良い方法ですか?