gpt4 book ai didi

java - 我可以仅使用 id 创建 OneToOne 关系吗?

转载 作者:行者123 更新时间:2023-12-01 04:56:48 25 4
gpt4 key购买 nike

在 JPA 中,是否可以只用一个想法创建 @OnToOne 关系而不嵌入类?例如:

@Entity public class Relationship {
@Id
@OneToOne
private Long parentId; // instead of "private User parent;"

@Id
@OneToOne
private Long childId; // instead of "private User child;"

int type;

...

我不介意有一个带有延迟获取的 getter 方法,但我不需要一个,而且我不希望必须拉入完整的父对象来处理子对象。另外,我想仅使用 id 而不是嵌入对象将其反序列化为 JSON。我可以通过添加一个委托(delegate)给 #getParent().getId() 的 getter 并将 JsonIgnore 放在 #getParent() 方法上(对于子方法也是如此)来做到这一点,但我更喜欢让实体看起来像这样我希望它从一开始就不需要添加这些东西。可能吗?如果可能的话怎么办?

谢谢!

最佳答案

没有。 对象如何与数字相关?毕竟这是一种 O-O 语言。

将某些内容标记为 @OneToOne 在语义上等同于数据存储中的 FK。如果您只是省略 @OneToOne 并使用数字,那么数据存储区中就有一个没有 FK 的数字列。因此,JPA 允许两者,但其中一个提供了 FK 的好处,而使用另一个时,您只需传递“数字”,而无需了解它们所涉及的内容

关于java - 我可以仅使用 id 创建 OneToOne 关系吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13958840/

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