【发布时间】:2010-11-05 10:47:16
【问题描述】:
我有一个 MySQL 表来保存标签(即像 Stack Overflow 上使用的那些)。它只是有一个 id (pk) 和一个标签列来保存标签本身。
我的 Tag 实体的带注释的 get 方法如下所示。
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", unique = true, nullable = false)
public int getId() {
return this.id;
}
@Column(name = "tag", unique = true, nullable = false)
public String getTag() {
return this.tag;
}
我在标签上使用了唯一的列约束,因为给定标签的行数不应该超过一行。然而,Hibernate 似乎忽略了这一点,即我可以多次保存完全相同的标签,它只是创建一个新行而不是抛出异常。
我是否遗漏了什么或者这应该有效吗?
【问题讨论】: