Как указать, что комбинация столбцов должна быть уникальным ограничением с использованием аннотаций? - PullRequest
12 голосов
/ 17 августа 2010

Я хочу убедиться, что все строки в моей таблице имеют уникальную комбинацию из двух полей, и я хочу указать это, используя аннотации в моем классе сущностей. Я попытался использовать комбинацию @Table и @UniqueConstraint, но, по-видимому, я делаю это неправильно, поскольку могу только указать, что отдельные столбцы должны быть уникальными (я уже могу указать это, используя уникальное свойство @ Column) чем комбинация столбцов. Например, я хочу, чтобы таблица с полями A и B содержала только строки, которые имеют уникальную комбинацию A и B. Ни одно поле / столбец не должно быть уникальным, это комбинация двух, которые должны быть уникальными.

Вот что я пробовал до сих пор без радости:

@Table(name = "MY_TABLE", 
       uniqueConstraints = @UniqueConstraint(columnNames = 
                                             { "FIELD_A", "FIELD_B" }))

и

@Table(name = "MY_TABLE", 
       uniqueConstraints = { @UniqueConstraint(columnNames = 
                                               { "FIELD_A", "FIELD_B" }) })

Может кто-нибудь, пожалуйста, предложить правильный способ сделать это? Также, если возможно использовать аннотации JPA вместо аннотаций, специфичных для Hibernate, это было бы предпочтительным.

Заранее спасибо за помощь.

- Джеймс

1 Ответ

14 голосов
/ 17 августа 2010

ваша вторая попытка

@Table(name = "MY_TABLE", 
   uniqueConstraints = { @UniqueConstraint(columnNames = 
                                           { "FIELD_A", "FIELD_B" }) })

должно работать как положено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...