Java 当使用多个关系时,如何在Spring中获取对象外键列表?
我有两个模型班。 其中一个是用户,另一个是学位。 每个用户可以获得一个以上的学位。 当我在postbody中创建新用户时,我想发送度列表和Json 我的用户类如下所示:Java 当使用多个关系时,如何在Spring中获取对象外键列表?,java,spring,spring-mvc,persistence,Java,Spring,Spring Mvc,Persistence,我有两个模型班。 其中一个是用户,另一个是学位。 每个用户可以获得一个以上的学位。 当我在postbody中创建新用户时,我想发送度列表和Json 我的用户类如下所示: @Entity @Table(name = "USERS") public class User implements Serializable { @Id @GeneratedValue(strategy = GenerationType.AUTO) pr
@Entity
@Table(name = "USERS")
public class User implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
private String name = "";
@ManyToMany(cascade = CascadeType.ALL)
@JoinTable(
name = "USER_DEGREE",
joinColumns = @JoinColumn(name = "USER_FK"),
inverseJoinColumns = @JoinColumn(name = "DEGREE_FK")
)
private List<Degree> degreeList = new ArrayList<>();
public User setDegreeList(List<Degree> degreeList) {
this.degreeList = traitList;
return this;
}
public User setId(long id) {
this.id = id;
return this;
}
public User setName(String name) {
this.name = name;
return this;
}
}
我的身体是这样的:
{
name:"abc",
degreeList:[1,2,4,6] // or [{id:1},{id:2},{id:4}]
}
如何做到这一点?有两种方法:
Set
创建一个DTO类,而不是List
,将用户对象转换为这个UserDTO对象并返回它@JsonSerialize(using=SomeSerializer.class)
注释字段,并实现此序列化程序实现JsonSerializer
(或Set
-我现在不能说,这只是个想法)@manytomy
字段是惰性的(并且几乎总是必须是惰性的),因此使用@Transactional
可以毫无例外地获取集合
{
name:"abc",
degreeList:[1,2,4,6] // or [{id:1},{id:2},{id:4}]
}