Что то я запутался с зависимостями, начал гуглить как правильно сделать валидацию формы, а именно email поля, чтобы не костылять с регулярками.
Нашел ресурс на котором говорится
We will need the validation-api-1.1.0.Final.jar and hibernate-validator-5.0.1.Final.jar files in order to use the Bean Validation API in our Spring MVC application.
maven pom
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.1.0.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>5.0.1.Final</version>
</dependency>
И тут я не совсем понял, зачем добавлять зависимости валидатора javax и hibernate если они идентичны
или нет ?
Если идентичны то не вижу никакого в этом смысла.
И еще, как я понимаю зависимости spring-boot-
xxxxx наследуются от других библиотек
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
В частности данная
spring-boot-starter-validation наследуется от hibernate-validator, если посмотреть в данный
pom.xml
Но и тут для меня становится не понятно, если наследуется от hibernate-validator, то почему в коде подгружается javax.validation ?
import javax.validation.constraints.Email;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
И еще вопрос, заметил такое явление в чужых проектах
Для работы с БД используют Hibernate, а Entity анотации используют javax, но IDE также предлагает аналогичные зависимости из пакета hibernate, в чем преимущество javax анотаций перед хибером ?