有沒有辦法保持LAZY加載和反序列化使用id而不是POJO對象的對象。反序列化休眠和傑克遜延遲加載
我有2個類加入了多對多的關係。
像這樣的事情
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;
}
數據類型的工作就好了。我可以在沒有問題的情況下使用hibernate進行編寫和讀取。
但是,我希望能夠使用REST API返回一個User對象,所以我使用Jackson來反序列化它。問題是,當我這樣做時,它會反序列化包含其他Type對象的User對象中的每個Type,並且會產生巨大的混亂。
是否有可能取而代之的是返回長類型ids而不是類型集?