LAZYの読み込みを維持し、POJOオブジェクトの代わりにidを使用してオブジェクトを逆シリアル化する方法はありますか?
多対多の関係で参加している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が逆シリアル化され、大きな混乱が生じることです。
代わりに、SetofTypeの代わりにSetofLongタイプIDを返すことは可能ですか?