[英]Spring JPA Multiple Many-To-One Relationships in One Entity
我正在嘗試創建一個實體,該用戶具有兩個地址,一個家庭住址和一個工作地址。
我不想將地址信息直接存儲在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做到這一點? 我了解這是一個ManyToOne關系,但是我不確定如何將兩個ManyToOne關系映射到一個實體。 這有可能嗎?
任何幫助,不勝感激。
謝謝!
那真的很簡單。 只需將您的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)
請注意,這是單向關系。
private Integer id;
private Address homeAddress;
private Address workAddress;
在第一種情況下,您的結構表將是
user(id,home_address_id,work_address_id)
您可能會考慮第二種結構
private Integer id;
private List<Address> userddress;//using one to many
您的表結構將是
address(id,user_id)
這取決於您要如何組織結構。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.