[英]bi-directional one-to-one in hibernate spring jpa
class Transaction implements Serializable {
@OneToOne(mappedBy = "transaction")
@JoinColumn(name = "invoice_id", nullable = false)
private InvoiceDetails invoice;
// some other columns, getter and setter
}
class InvoiceDetails implements Serializable {
@OneToOne(mappedBy = "invoice", fetch = FetchType.LAZY)
@JoinColumn(name = "transaction")
private Transaction transaction;
// some other column and getter setter
}
編譯此文件時出現錯誤- Unknown mappedBy in: com.project.model.Transaction.invoice, referenced property unknown: com.project.model.InvoiceDetails.transaction
但是,當我從InvoiceDetails中刪除mappedBy = "invoice"
時,它將進行編譯。 但是,交易記錄表中有引用InvoiceDetails的列。 InvoiceDetails中有一列,用於存儲交易記錄中的ID。
我還沒有嘗試獲取數據。 我現在只看到數據庫中的列。
當您在JPA
具有雙向關系時,應僅在其中一個屬性中設置mappedBy
。 一個沒有mappedBy
的表在其表中將具有一列具有外鍵約束的關系,而另一個將不具有該關系的任何列。 因為mappedBy
指示此關系已由您在關系另一側指定的屬性處理。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.