Почему @AssertTrue не работает, а @NotNull работает?
Я работаю над библиотекой сущностей. Я поместил несколько аннотаций проверки бинов на свои сущности.
Я твердо верю в реализацию проверки бинов на пути к классам.@javax.validation.constraints.NotNull
работает и @javax.validation.constraints.AssertTrue
не работает
class MyEntity {
@AssertTrue // does't work
public boolean hey() {
return false;
}
@NotNull // works; violation while persist
private String some;
}
Что, возможно, я сделал с этим не так?
Я использую org.hibernate:hibernate-validator
и изменив его с org.apache.bval:bval-jsr
не имеет никакого значения.
ОБНОВИТЬ
Метод фактически вызывается. Я проверяю журнал.
Вот мой метод.
@AssertTrue(message = "a property must be eclusively system or owned")
private boolean execlusivelySystemOrOwned() {
logger.info("execlusivelySystemOrOwnded()");
final boolean result = system ^ (getOwner() != null);
logger.log(Level.INFO, "result: {0}", result);
return result;
}
1 ответ
Решение
Я думаю, что нашел ответ.
/questions/46408330/proverka-bina-po-metodu/46408347#46408347
Я должен был переименовать метод в isExeclusivelySystemOrOwned
,
Вот почему это называется Bean- Validation.