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

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

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

- Джеймс

12
задан James Adams 17 August 2010 в 16:00
поделиться

1 ответ

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

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

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

14
ответ дан 2 December 2019 в 21:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: