gpt4 book ai didi

java - Hibernate OneToOne 的行为类似于 ManyToOne

转载 作者:行者123 更新时间:2023-12-01 11:02:21 26 4
gpt4 key购买 nike

我有这些类(class):

public class Person {

@Id
private int personId;

@OneToOne
private SomeOtherId someOtherId;
}

public class SomeOtherId {
@Id
private int someId;

// other fields
}

我这样做了:

Person person1 = new Person(1);
SomeOtherId someOtherId = new SomeOtherId(100);
person1.setSomeOtherId(someOtherId);
//Update the database so that both the above entities are persisted

Person person2 = new Person(2);
person2.setSomeOtherId(someOtherId);
//Update the database so that person2 is persisted

一切正常!它将 someOtherId 分配给两个人员实体,但不应该这样做,因为关系是 OneToOne。每个人都必须有一个唯一的 SomeOtherId。在数据库中,我还可以看到 SomeOtherId 的单个实体以及映射到两个人的 id。

我在这里缺少什么?

最佳答案

您必须添加 @JoinColumn 并将 unique 属性设置为 true

关于java - Hibernate OneToOne 的行为类似于 ManyToOne,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33238722/

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