Hibernate 4.3.11 (и другие версии) следует обратить внимание на аннотации проверки. - так что, возможно, вам придется обновить
Это ссылки из Руководство по Hibernate 4.3.11
Глава 22. Дополнительные модули
Hibernate Core также предлагает интеграцию с некоторыми внешними
Модули / проекты. Это включает в себя Hibernate Validator ссылку
реализация проверки бина (JSR 303) и поиска в спящем режиме.
Глава 22.1 Проверка бинов
...
Интеграция между Hibernate и Bean Validation работает на двух
уровни. Во-первых, он может проверять экземпляры класса в памяти для
нарушение ограничений. Во-вторых, он может применить ограничения к
Метамодель Hibernate и включение их в сгенерированную базу данных
схемы.
...
Глава 22.1.4 Схема базы данных
Hibernate использует ограничения Bean Validation для создания точной схемы базы данных:
@NotNull leads to a not null column (unless it conflicts with components or table inheritance)
@Size.max leads to a varchar(max) definition for Strings
@Min, @Max lead to column checks (like value <= max)
@Digits leads to the definition of precision and scale (ever wondered which is which? It's easy now with @Digits :) )
Примечание: @Lengh тоже работает, как @ Size
Когда вы используете Hibernate Validator 5.1 - тогда вам также потребуется el-Реализация. Например
<dependency>
<groupId>org.glassfish.web</groupId>
<artifactId>el-impl</artifactId>
<version>2.2</version>
</dependency>
Если у вас его нет, то Hibernate ORM не сможет запустить проверку гибернации, поэтому он не будет учитывать (все) JSR-303, например @Length
, @Size
!