[英]Hibernate - unique column constraint being ignored
我有一個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似乎忽略了這一點,即我可以多次保存完全相同的標記,它只是創建一個新行而不是拋出異常。
我錯過了什么或者這應該有效嗎?
來自UniqueConstraint
JavaDoc( @Colunm
上的unique=true
只是一個快捷方式):
此批注用於指定將唯一約束包含在主表或輔助表的生成DDL中。
所以它似乎沒有強制插入時的唯一性。 在任何情況下,您都應該在數據庫中創建唯一約束。
你想念這只是一個信息。
您還應該在數據庫中的列上添加約束。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.