Уникальное ограничение над несколькими столбцами
Я использую 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, которую я могу использовать при сопоставлении сущностей?
Заранее спасибо
Ответы
Ответ 1
Нет аннотации Hibernate, которая проверяет уникальность перед вставкой/обновлением. Но есть аннотация, которая будет генерировать такое ограничение для базы данных, если используется автоматическое создание базы данных:
@Table(
name="ACTIVE_BAND",
uniqueConstraints=
@UniqueConstraint(columnNames={"active_band_user", "active_band_date"})
)