有没有办法使用id而不是POJO对象来保持LAZY加载和反序列化对象.
我有两个由多对多关系加入的课程.
像这样的东西
public class User {
@Id
@JsonProperty
public long id;
@ManyToMany(
fetch = FetchType.EAGER,
)
@JoinTable(
name = "User_EntityType",
joinColumns = @JoinColumn(name = "user_id"),
inverseJoinColumns = @JoinColumn(name = "type_id")
)
@JsonProperty
public Set<Type> types;
}
public class Type {
@Id
@JsonProperty
public long id;
@ManyToMany(
fetch = FetchType.EAGER,
mappedBy = "types",
targetEntity = User.class
)
@JsonProperty
public Set<User> users;
}
Run Code Online (Sandbox Code Playgroud)
数据类型工作得很好.我可以使用hibernate进行编写和读取,没有任何问题.
但是,我希望能够使用REST API返回User对象,因此我使用Jackson对其进行反序列化.问题是,当我这样做时,它反序列化User对象中的每个Type,其中包括其他Type对象,并且它会造成巨大的混乱.
是否可以只返回Set of Long类型ID而不是Set of Type?