簡體   English   中英

冬眠jpa雙向一對一

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM