ORM: где указать ограничения базы данных, если схема БД поддерживается вручную - PullRequest
1 голос
/ 10 ноября 2011

Я вижу 3 варианта:

  1. указать ограничения дБ в файле схемы (* .sql)
  2. указать ограничения дБ в материале ORM (с xml / annotations / любым другим)
  3. используйте сочетание 1) и 2)

Есть ли передовая практика по этой теме?Особенно меня интересует спящий мир.

Ответы [ 2 ]

1 голос
/ 10 ноября 2011

Единственными ограничениями, которые применяются, являются ограничения в базе данных. Задание ограничений в аннотациях Hibernate полезно только в том случае, если вы используете инструменты Hibernate для создания схемы SQL базы данных из исходного кода Java. В конце концов, он всегда оказывается в SQL.

Таким образом, если вы поддерживаете схему вручную и не генерируете ее из аннотаций Java, использование аннотаций для их указания бесполезно (за исключением случаев документирования).

0 голосов
/ 11 ноября 2011

Хотя ответ Дж. Б. Низета действителен, все же есть исключение - ссылочное ограничение Внешний ключ , точно "Референтные действия". Каскад операции, определенные в сущности (Hibernate), и ссылочные действия внешнего ключа, определенные в схеме БД, работают вместе.

...