簡體   English   中英

休眠/ jpa double與一個實體的雙向一對一關系

[英]hibernate/jpa double OneToOne Bidirectional Relationship to one entity

我有以下結構,無法弄清楚如何放入正確的休眠映射。

public class Company{
    @OneToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "details_x")
    private Details detailsX;

    @OneToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "details_y")
    private Details detailsY;
}

public class Details{
    ....
    private Type type; //Enum that could be x or y

    @OneToOne
    private Company company;
}

公司有x的詳細信息和y的詳細信息。 一個公司只能在x或y中使用詳細信息。 在數據庫方面,我認為最好的設置是在tbl_company上有2列引用詳細信息的Pk。 但這導致從“詳細信息”到“公司”的關系不起作用。

有人對如何最好地映射此有任何建議嗎?

編輯:將類型添加到詳細信息

您必須定義mappedBy屬性,它將說我不是下面的所有者。

public class Details{
    @OneToOne(mappedBy = "detailsX", cascade = CascadeType.ALL, 
                  fetch = FetchType.LAZY, optional = false)
    private Company company;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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