Почему @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.

Другие вопросы по тегам