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



我目前正在使用Hibernate和Postgresql。

我的数据库中有一些列需要设置"唯一"约束。所以我上网找到了两种方法

Postgresql:中的查询

ALTER TABLE foo ADD UNIQUE (thecolumn);

休眠注释:

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

哪种是首选方式?还是两者都需要?

谢谢。

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

如果您的实体配置在每次更改实体模型时都会更新数据库,那么db和entities将相等,但如果不是这样,则没有人保证您的列是唯一的。(除非身份证)。

最新更新