gpt4 book ai didi

java - Spring JPA 一个实体中的多个多对一关系

转载 作者:行者123 更新时间:2023-12-02 10:38:05 25 4
gpt4 key购买 nike

我正在尝试创建一个实体,即具有两个地址的用户,一个家庭地址和一个工作地址。

我不想将地址信息直接存储在 User 类中,而是想对其进行规范化并将所有地址存储在一个表中,然后将它们链接到用户。就像这样:

@Entity
public class User {

@Id
private Integer id;
private Address homeAddress;
private Address workAddress;

// getters and setters
}

@Entity
public class Address {

@Id
@GeneratedValue (strategy = GenerationType.AUTO)
private Integer id;
private String streetNumberAndName;
private String apartmentOrSuiteNumber;
private String city;
private String state;
private String zipcode;

// getters and setters
}

如何使用 Spring JPA 执行此操作?我知道这是一种多对一关系,但我不确定如何将两个多对一关系映射到一个实体。这可能吗?

非常感谢任何帮助。

谢谢!

最佳答案

这真的很简单。只需映射您的 User 类,例如:

@Entity
public class User {

@Id
private Integer id;

@ManyToOne
@JoinColumn(name = "fk_home_address")
private Address homeAddress;

@ManyToOne
@JoinColumn(name = "fk_work_address")
private Address workAddress;

// getters and setters
}

表结构如下:

user(id, fk_home_address, fk_work_address)

请注意,这是一个单向关系。

如果您想了解更多信息,查找示例的最佳位置是 here 。如果您正在寻找双向关系,请了解 here .

关于java - Spring JPA 一个实体中的多个多对一关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53127514/

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