1

JSR-303をHibernateバリデーターで使用することを検討しています。顧客ごとに異なる検証を行うか、制約の基本セットを設定して、それらをオーバーライドできるようにしたいと考えています。

これを行うための最良の方法がわかりません。

制約に注釈を使用することは、モデルに本質的にハードコーディングされているため、適切ではありません。XMLを使用して検証を外部化できることを知っています(制約マッピングファイルを指定するMETA-INF / validation.xmlを作成します)。しかし、これを複数の顧客向けに簡単に構成できるようにする方法はよくわかりません。

単純なプロパティを設定して、デプロイするときにまったく異なる制約マッピングファイルのセットを使用できるようにしたいと思います。

何か案は?

4

1 に答える 1

0

ValidatorFactory次のように、顧客固有の制約マッピング XML ファイルで構成する顧客ごとに作成できます。

ValidatorFactory validatorFactory = Validation
    .byDefaultProvider()
    .configure()
    .addMapping(...) //input stream with an XML constraint mapping
    .addMapping(...) //another input stream with an XML constraint mapping
    .buildValidatorFactory();

Hibernate Validator を使用している場合、プログラムによる制約宣言に API を使用して、個別に構成されたバリデータ ファクトリを作成することもできます。

于 2012-06-16T21:05:43.853 に答える