Благодаря этому вопросу мне кажется, я понимаю, как работает валидация.
Что касается JPA, здесь у нас есть спецификация под названием JSR-303, объясняющая, как должна работать Bean Validation, а затеммы также используем такие реализации, как обычно используемый Hibernate Validator или Apache BVal.
Я пытаюсь использовать @Valid
в какой-то части моего кода.Я не использую @Validated
, потому что мне не нужна проверка группы.
Вы можете найти пример демонстрационного проекта здесь
В классе PropertyExample
вывидно, что я пометил свой класс для проверки бина.
При использовании @Validated
все работает как положено, так как я нарушаю ограничение в своем файле application.yml
.При использовании @Valid
сверх @Validated
, кажется, ничего не происходит.Я не понимаю, почему.
Я также видел, что эти аннотации можно использовать для ElementType.PARAMETER
, но когда я использую их во время инициализации конструктора, проверка, похоже, тоже не срабатывает.
Разъяснение того, как использовать эти аннотации (особенно @Valid
), будет с благодарностью.