【发布时间】:2023-03-30 09:26:01
【问题描述】:
我的数据模型包含 3 个表:User、Profile、UserProfile。
public class User implements Serializable {
private Integer id;
......
@OneToMany(mappedBy = "user", cascade = CascadeType.ALL, fetch =
FetchType.LAZY)
@JsonManagedReference
@JsonProperty("profiles")
private List<UserProfile> userProfiles = new ArrayList<UserProfile>();
}
public class Profile implements Serializable {
private Integer id;
......
@OneToMany(mappedBy="profile", cascade = CascadeType.ALL, fetch =
FetchType.LAZY)
@JsonBackReference
private List<UserProfile> userProfiles= new ArrayList<UserProfile>();
}
public class UserProfile implements Serializable {
private Integer id;
@ManyToOne
@JoinColumn(name = "idUser")
@JsonBackReference
private User user;
@ManyToOne
@JoinColumn(name = "idProfile")
@JsonManagedReference
private Profile profile;
}
这是我的 json 反馈:
{ “身份证”:1, ………… “个人资料”:[ { “轮廓”: { “身份证”:1, ...... }, { “身份证”:2, ...... } } ] }
我有两个问题: 是否可以删除配置文件属性并具有: { “身份证”:1, ………… “个人资料”:[ { “身份证”:1, ...... }, { ": 2, ...... } ] }
在与包含主键(id)的中间表的多对多关系中,2个外键是具有多对多关系的2个表的id,这是怎么做的?
【问题讨论】:
标签: json jpa serialization spring-data-jpa spring-data