53

我正在使用 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 注释?

提前致谢

4

2 回答 2

98

没有在插入/更新之前检查唯一性的 Hibernate 注释。但是,如果使用自动数据库创建,则会有一个注释会对数据库产生这样的约束:

 @Table(
    name="ACTIVE_BAND", 
    uniqueConstraints=
        @UniqueConstraint(columnNames={"active_band_user", "active_band_date"})
)
于 2012-08-14T16:24:27.813 回答
2

在更现代的语法中,它将是:

@Table(
    name="ACTIVE_BAND", 
    uniqueConstraints =
        [UniqueConstraint(
                columnNames = ["active_band_user", "active_band_date"]
        )]
)
于 2020-09-29T16:37:27.893 回答