gpt4 book ai didi

java - 我可以使用 @MapsId 为使用 JPA 的多个父级共享一对一实体吗

转载 作者:行者123 更新时间:2023-11-30 06:22:03 26 4
gpt4 key购买 nike

我阅读了一些有关如何使用 @MapsId 映射 @OneToOne 关系的最佳实践

Like this

我想知道,如果实体是“共享”的,它会起作用吗?

例如...

Employee has Address OneToOne...
Department has Address OneToOne...

我们可以在这里使用相同的方法吗?或者 EMPLOYEES 和 DEPARTMENTS 表应具有 fk_address_id ?

我应该通过接口(interface)HasAddress来处理这个问题吗?

最佳答案

它会起作用,但共享是在父级和子级之间,而不是在父级之间。因此,Employee 将使用自己的 Address 行,而 Department 将使用不同的行。

但是,如果您想共享它,这不是 @OneToOne 关系。它是一个 @ManyToOne,因为 Address 可以是父实体,EmployeeDepartment 是子实体。在这种情况下,EmployeeDepartment 都将使用 FK 列作为 Address PK。

因此,如果您想共享 Address 行,则这是一个多对一关联。如果不这样做,那么您可以与 Address 实体上的 @MapsIdDepartment 上的 mappedBy 一对一使用员工

关于java - 我可以使用 @MapsId 为使用 JPA 的多个父级共享一对一实体吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47921677/

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