0
我有以下問題,我有一個已經存在的表有三個字段field1,field2,field3。 Field1實際上是一個外鍵(@OneToOne)到另一個表。所有field2和field3都可以爲空,所以我不能爲所有三個字段設置主鍵。在數據庫中有一個Field1 + field2 + field3的UniqueConstraint。JPA /休眠 - 使用唯一約束作爲主鍵
field1 | field2 | field 3
1 | 1 | null
1 | null | 2
3 | 1 | null
我試過JPA /休眠的幾個解決方案,但找不到一個好的。 沒有定義@Id JPA無法工作(當然)。定義@Embeddable中的三個字段並將其與重複使用@EmbeddedId在不允許空值的所有三個字段上創建主鍵。
是否有任何其他解決方案,而不是改變現有的表,併爲每一行添加一個自動生成的ID?
非常感謝你&最好的問候!
什麼是Field2,Field3用於?他們是否在另一張桌子上?請注意,Field1與父表具有ManyToOne關係,id 1在那裏有兩次。 –