В последних версиях провайдера JPA hibernate по умолчанию применяются ограничения проверки компонентов (JSR 303), например @NotNull
к DDL (благодаря hibernate.validator.apply_to_ddl property
по умолчанию true
).Но нет никакой гарантии, что другие провайдеры JPA сделают или даже смогут это сделать.
Вы должны использовать аннотации проверки bean-компонентов, такие как @NotNull
, чтобы убедиться, что для свойств bean-компонента задано непустое значение,при проверке Java-бинов в JVM (это не имеет ничего общего с ограничениями базы данных, но в большинстве случаев должно соответствовать им).
Вы должны дополнительно использовать аннотацию JPA, такую как @Column(nullable = false)
, чтобы дать подсказки провайдеру jpaсоздать правильный DDL для создания столбцов таблицы с необходимыми ограничениями базы данных.Если вы можете или хотите положиться на поставщика JPA, такого как Hibernate, который по умолчанию применяет ограничения проверки bean-компонентов к DDL, то вы можете их опустить.