2014-01-29 14 views
2

我有一個實體用戶,另一個實體書,用戶可以有很多書,書可以有很多所有者,所以它是一個多元關係。 和一箇中間表user_book是用user_id創建的,book_idjpa manytomany如何添加重複的項目

但現在出現了這個問題,如果用戶有兩本完全相同的書,例如他兩次買了同一本書,會發生什麼情況。那麼主鍵約束被觸發,我不能再堅持用戶。

那麼我該怎麼處理它呢?用戶如何擁有2本相同的書籍?

回答

0

看起來在這種情況下,您應該在中間表USER_BOOK中添加標識字段。這樣,只要用戶多次使用同一本書,只需在連接表中添加一個新的識別符即可堅持。

0

作爲一個簡單的答案永遠不要使用您的業務密鑰作爲ID! :)

作爲一個例子,如果您將ISBN設置爲Book實體的數據庫ID,您可能會遇到問題。然而,如果你設置書的ID,一個任意的ID(AutoGenerate,SequenceTable等)永遠不需要擔心在一個關係中有同一本書;)

1

好吧,我已經想通了方法,將設置更改爲列表,將從中間表中刪除主鍵。