Có cách nào để giữ LAZY tải và deserialize đối tượng bằng cách sử dụng id thay vì đối tượng POJO.deserialize tải lười biếng trong hibernate và jackson
Tôi có 2 lớp được tham gia bằng mối quan hệ nhiều-nhiều.
Something như
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;
}
loại Số liệu này chỉ hoạt động tốt. Tôi có thể viết và đọc bằng cách sử dụng ngủ đông mà không có vấn đề gì.
Tuy nhiên, tôi muốn có thể trả về một đối tượng người dùng bằng API REST, vì vậy tôi đang sử dụng Jackson để deserialize nó. Vấn đề là khi tôi làm điều đó, nó deserialize mọi loại trong đối tượng người dùng, trong đó bao gồm các đối tượng loại khác, và nó tạo ra một mớ hỗn độn lớn.
Có thể thay vào đó, chỉ cần trả lại id Loại id dài thay vì Đặt loại?