Hibernate 多列上的唯一约束
我正在使用SEAM 2/Hibernate和PostgreSQL 9数据库。我有下表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注
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的@表
没有唯一约束
字段。这似乎是重复的