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

Уникальное ограничение над несколькими столбцами

Я использую SEAM 2/Hibernate вместе с базой PostgreSQL 9. У меня есть следующая таблица

Active Band
===========
active_band_id serial
active_band_user text
active_band_date timestamp
active_band_process integer

Я хотел бы добавить ограничение, которое гарантирует, что каждая новая запись имеет уникальную комбинацию active_band_user и active_band_date.

Внутри потенциально может быть много попыток вставки, поэтому мне нужно, чтобы это было как можно более эффективным, есть ли аннотация SEAM/hibernate, которую я могу использовать при сопоставлении сущностей?

Заранее спасибо

4b9b3361

Ответ 1

Нет аннотации Hibernate, которая проверяет уникальность перед вставкой/обновлением. Но есть аннотация, которая будет генерировать такое ограничение для базы данных, если используется автоматическое создание базы данных:

 @Table(
    name="ACTIVE_BAND", 
    uniqueConstraints=
        @UniqueConstraint(columnNames={"active_band_user", "active_band_date"})
)