假設我有一個如圖 1 所示的關系(客戶和 AtmCard 之間的@OneToOne,一方面是強制性的,另一方面不是)。
我是否正確地說要在 AtmCard 端強制執行客戶的強制方面,我需要在未來定義 a@JoinColumn(nullable = false)以及我的 @OneToOne 注釋,如圖 2 所示?
如果我沒有將這個 @JoinColumn 注釋定義optional為 false,會發生什么?@JoinColumn(nullable = false) 到底是做什么的,為什么我應該只將它應用于所有 @OneToOne 和 @ManyToOne 關系?
作為參考,圖 3顯示了我在客戶端的注釋映射。謝謝!
uj5u.com熱心網友回復:
你會在這里和本教程中找到一個很好的解釋
但通常您可以在您的物體中實作雙向性(意味著您可以執行 customer.getAtm() 或 atm.getCustomer()),而無需在兩個表中使用 FK 創建 2 列(JPA 將使用連接來獲取某些內容)。您通常會在子物體 (ATM) 上添加可為空的 false,因為 ATM 不能在沒有客戶的情況下存在,但客戶可以在沒有 ATM 的情況下存在(現實世界就是這種情況,除非您的業務不同,否則您應該強制它也是父母)
我們通常添加這些型別以幫助我們保持 DB 內容有效
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/421023.html
標籤:
