Hibernate と Hibernate Validator 5 に問題があります。たとえば、いくつかのエンティティGroup
と別のエンティティがありPerson
ます。これらは次のように関連しています。グループには、個人への 2 つの参照があります。連絡先担当者とマネージャです。どちらも 1 対 1 の関係であり、完全なカスケードとオーファンの削除オプションがあります。
私が望むのは、グループの保存中に連絡先担当者とマネージャーを検証することです。さらに、別の検証グループを使用して、担当者とマネージャーを検証したいと考えています。これを行うために、連絡先担当者フィールドの前に@ConvertGroup(from = Default.class, to = ContactPersonValidation.class)
一緒に配置し@Valid
、マネージャー フィールドに対しても同様に行いました (別の検証グループを使用)。
現在、Hibernate の検証は機能しません。グループが で提供されているものに変換されていないことを意味し@ConvertGroup
ます。Hibernate バリデーターのソース コードをたどったところ、Group オブジェクトと 2 つの Person オブジェクトを別々に検証するようです。したがって、Person 検証は Group オブジェクトからカスケードされず、検証グループは変換されません。
同様の問題を経験したことがあり、その解決方法を知っていますか?