Я пытаюсь проверить бины с помощью Hibernate Validator. Он должен быть программируемым и основан на файле конфигурации JSON.
модели данных:
class A {
field,
other fields
}
class B {
class A a,
other fields
}
class C {
class A a,
other fields
}
class D {
class B b,
class C c,
other fields
}
Проверка D на основе файла конфигурации JSON.
Файл конфигурации хочет проверить следующее:
Поле D.b.a. не должно быть нулевым.
D.c.a.field обнуляется.
Используя программный способ, я установил проверку следующим образом:
constraintMapping
.type( D.class )
.property( "b", FIELD )
.constraint( new NotNullDef() )
.valid()
.type( B.class )
.property( "a", FIELD )
.constraint( new NotNullDef() )
.valid()
.type ( A.class )
.property( "field", FIELD )
.constraint( new NotNullDef() );
Теперь для поля A. установлено не валидатор, но проблема в том, что теперь файл D.c.a.filed также не может быть пустым.
Это всего лишь пример, я абсолютно не хочу менять модели данных.