Добавление ограничений функционального уровня с Hibernate - PullRequest
0 голосов
/ 24 октября 2011

Я хотел бы определить сущность, которая содержит список чего-либо (например, встраиваемый), и у каждого из этих встраиваемых объектов есть свойство active. Одновременно только один элемент в списке может быть активным.

Как реализовать это в Hibernate?

Ответы [ 2 ]

2 голосов
/ 24 октября 2011

Как уже упоминал Дж. Б. Низет в своем предыдущем предложении , возможно, вам будет лучше реализовать это ограничение на уровне обслуживания.

Однако вас может заинтересовать JSR 303: проверка бина . Hibernate Validator 4 реализует его, и с его помощью вы можете определять пользовательские ограничения с помощью аннотаций, которые будут выполняться Hibernate Validator для проверки ваших bean-компонентов.Обратите внимание, что вы можете достичь тех же результатов, используя другие, возможно, более подходящие фреймворки, такие как Spring Validator .

Взгляните на этот вопрос для примера: Проверка перекрестного поля с помощью HibernateВалидатор (JSR 303) .Вы также можете найти эти ссылки полезными:

2 голосов
/ 24 октября 2011

Если они функциональные, я просто реализовал бы проверку в функциональной службе, которая создает и изменяет эти встраиваемые объекты, и выбрасывал исключение, если ограничение не проверено. Это не должно быть сделано на уровне постоянства.

...