gpt4 book ai didi

hibernate - @OneToOne 同时使主键作为外键(Spring JPA/Hibernate)

转载 作者:行者123 更新时间:2023-12-03 00:03:01 33 4
gpt4 key购买 nike

我有一个这样的实体:

@Entity
public class Person {

@Id
private Long id;

private String firstName;

// Getters and setters
}

id不是自动生成的,而是由用户决定的。

我有第二个这样的实体:

@Entity
public class PersonDetail {

@Id
@OneToOne
private Long id; // should be referred to id of Person entity
// or maybe private Person person; ???

private String language;
private Integer age;

// Getters and setters
}

同样在第二个实体中,id 不是自动生成的。

我想要建立一个 @OneToOne 关系,并且我希望 PersonDetailid 的主键>PersonDetail 但同时它必须是 Person 实体(id 字段)的外键。

是否可以使用 Spring JPA/Hibernate 注释?

非常感谢,安德里亚

最佳答案

您可以关注此维基: Primary Keys through OneToOne and ManyToOne Relationships

将您的 PersonDetail 实体重写为:

@Entity
public class PersonDetail {

@Id
private Long id;

@OneToOne
@PrimaryKeyJoinColumn
private Person person;

private String language;
private Integer age;

// Getters and setters
}

关于hibernate - @OneToOne 同时使主键作为外键(Spring JPA/Hibernate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46592680/

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