![](/img/trans.png)
[英]Storing only one entity of bidirectional OneToOne relationship with Hibernate and Spring
[英]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.