Подтвердить что ты не робот

Как указать, что комбинация столбцов должна быть уникальным ограничением с помощью аннотаций?

Я хочу убедиться, что все строки в моей таблице имеют уникальную комбинацию из двух полей, и я хочу указать это, используя аннотации в моем классе сущности. Я попытался использовать комбинацию @Table и @UniqueConstraint, но, видимо, я делаю это неправильно, поскольку я могу только указать, что отдельные столбцы должны быть уникальными (я уже могу указать, что с использованием свойства @Column unique) чем комбинация столбцов. Например, я хочу, чтобы таблица, в которой есть поля 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, которые были бы предпочтительнее.

Заранее благодарим за помощь.

- Джеймс

4b9b3361

Ответ 1

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

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

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