gpt4 book ai didi

java - hibernate/jpa double OneToOne 与一个实体的双向关系

转载 作者:太空宇宙 更新时间:2023-11-04 10:01:30 25 4
gpt4 key购买 nike

我有以下结构,但我无法弄清楚如何放入正确的 hibernate 映射。

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;
}

关于java - hibernate/jpa double OneToOne 与一个实体的双向关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53399868/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com