Hibernate 多列上的唯一约束

Hibernate 多列上的唯一约束,hibernate,postgresql,seam,hibernate-mapping,seam2,Hibernate,Postgresql,Seam,Hibernate Mapping,Seam2,我正在使用SEAM 2/Hibernate和PostgreSQL 9数据库。我有下表 Active Band =========== active_band_id serial active_band_user text active_band_date timestamp active_band_process integer 我想添加一个约束,确保每个新条目都有一个唯一的活动日期和活动日期的组合 每秒可能会有许多尝试插入,因此我需要尽可能高效地进行插入,是否有SEAM/hibernate注

我正在使用SEAM 2/Hibernate和PostgreSQL 9数据库。我有下表

Active Band
===========
active_band_id serial
active_band_user text
active_band_date timestamp
active_band_process integer
我想添加一个约束,确保每个新条目都有一个唯一的活动日期和活动日期的组合

每秒可能会有许多尝试插入,因此我需要尽可能高效地进行插入,是否有SEAM/hibernate注释可用于实体映射


提前感谢

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

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

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

@Table(
    name="ACTIVE_BAND", 
    uniqueConstraints =
        [UniqueConstraint(
                columnNames = ["active_band_user", "active_band_date"]
        )]
)

我认为它不支持这一点,因为我在Eclipse中得到“注释属性Table.uniqueConstraints的值必须是some@javax.persistence.UniqueConstraint annotation”。此方法是否在SQL架构中生成约束?是,它支持。这里有记录:一定是出了什么问题。是否导入了javax.persistence.UniqueConstraint?我知道这是几年前的事了,但请确保您使用的是
javax.persistence.Table
而不是
org.hibernate.annotations.Table
。Hibernate的
@表
没有
唯一约束
字段。这似乎是重复的