2016-09-13 3 views
0

Таблицы моего БД имеют атрибуты, такие как длина, уникальные ограничения и т. Д. Зачем хранить такие ограничения с помощью аннотаций JPA в коде (например, @UniqueConstraint, length = '25' и т. Д.), Поскольку БД выиграла Не принимайте неверные записи и выдавайте исключения. Разве это не двойная проверка? Это для лучшей обработки исключений?Зачем использовать аннотацию ограничения JPA/Hibernate, когда DB имеет такие ограничения.

+1

Эти АННОТАЦИИ и свойства используются только для DDL целей, то есть, если у вас есть Hibernate создания схемы. –

ответ

3

Эти анотации и свойства используются только для целей DDL, т. Е. Если у вас есть Hibernate, создайте свою схему.

Валидация в Java может быть выполнена путем применения проверки бина для сущностей: они позволяют проверять перед переходом в базу данных и обеспечивать лучшую обработку ошибок, поскольку база данных, вероятно, будет генерировать общее исключение, которое не будет предлагать какой-либо чистый способ идентификации соответствующих полей:

http://docs.oracle.com/javaee/6/tutorial/doc/gircz.html

Смежные вопросы