alp*_*sis 2 java spring jpa spring-boot
我正在尝试创建一个实体,即具有两个地址的用户,一个家庭地址和一个工作地址。
我不想将地址信息直接存储在 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
}
Run Code Online (Sandbox Code Playgroud)
如何使用 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
}
Run Code Online (Sandbox Code Playgroud)
表结构将是这样的:
user(id, fk_home_address, fk_work_address)
Run Code Online (Sandbox Code Playgroud)
请注意,这是单向关系。
如果您想了解更多信息,寻找示例的最佳位置是这里。如果您正在寻找双向关系,请在此处学习。
| 归档时间: |
|
| 查看次数: |
9877 次 |
| 最近记录: |