我使用JPA,並試圖找出如何在一個表中,而在另一個非主鍵列創建一個主鍵列之間的唯一約束。我有兩個表:JPA:在一個表中的主鍵列和另一個表中的非主列之間創建約束?
Customer (
id character varying(32) NOT NULL,
customer_name character varying(50)
)
和
Account (
id character varying(32) NOT NULL,
account_name character varying(50)
)
有一個單向的,一到許多與約束Account.account_name是每個客戶獨特的客戶和客戶之間的關係。代碼看起來像這樣:
@Entity
public class Customer {
@Id
@Column(length=32)
private String id;
@Column(unique=true, length=50)
private String customer_name;
@OneToMany
private List<Account> accounts;
...
}
和
@Entity
public class Account {
@Id
@Column(length=32)
private String id;
@Column(length=50)
private String account_name;
...
}
連接表默認創建:
CUSTOMER_ACCOUNTS (
customer_id character varying(32),
accounts_id character varying(32)
)
如何創建唯一約束,以確保Account.account_name是每個客戶獨特?
正在修改模式的選項?如果你擺脫了連接表,唯一的限制是微不足道的。 – mabi
您會推薦哪些模式更改,以及如何在JPA中表達它們? – gxwilso
SzilágyiDonát釘牢它。 – mabi