hibernate唯一约束注释和postgresql查询之间的区别

时间:2017-01-24 15:37:30

标签: java postgresql hibernate unique-constraint

我目前正在使用Postgresql的Hibernate。

我的数据库中有一些列需要使用Unique约束进行设置。所以我上网了,发现了两种方法

在Postgresql中查询:

ALTER TABLE foo ADD UNIQUE (thecolumn);

Hibernate注释:

@Table(
   name = "foo", 
   uniqueConstraints = {@UniqueConstraint(columnNames = {"thecolumn"})}
)

哪种方式首选?或两种方式都需要?

感谢。

1 个答案:

答案 0 :(得分:1)

如果您的数据库仅由软件操作(如果您不打算使用任何实体表示法,则必须创建自己的验证以避免重复),您可以直接在软件中处理唯一约束。但为了保持完整性,我建议将其也放在DB中。为了避免人为错误。

如果您的实体配置每次更改实体模型DB时都会更新数据库,并且ENTITIES将等于,但如果不是,则没有人保证您的列将是唯一的。 (除非ID)。