0
你好我想在兩個引用的列添加一個唯一約束:添加唯一約束在muliple參考列
@Entity()
@Table(uniqueConstraints = @UniqueConstraint(columnNames = { "ast", "tfs" }))
public class N extends UUID {
@ManyToOne(optional = false)
@JoinColumn(name = "ast")
private A ast;
@ManyToOne(optional = false)
@JoinColumn(name = "tfs")
private T tfs;
在類UUID是用於產生主ID的邏輯。
休眠生成3約束,PK,2次要鍵..但我期待4約束。 有人有想法嗎?
編輯:
@Entity
public class A extends UUID implements Serializable {
@OneToMany(mappedBy = "ast")
private List<N> nutz;
和
@Entity
public class T extends UUID implements Serializable {
@OneToMany(mappedBy = "tfs")
private List<N> nutz;
我期望在你的情況下只有兩個約束:PK約束和UniqueConstraint(超過兩個字段)。 Hibernate的約束是什麼?你期望的約束是什麼? –
然後我沒有提及其他實體。目前有1PrimaryKey(uuid)2SecondaryKey(對於ast和tofs)約束。我期望1PrimaryKey 2SecondaryKey加上1Unniqe(ast,tfs)約束。 –
當然,我沒有計算外鍵約束。你確定你的表中沒有多個組合'{「ast」,「tfs」}? –