Gibt es eine Möglichkeit, LAZY das Objekt zu laden und deserialisieren mit der ID anstelle des POJO-Objekts.deserialize lazy loading in hibernate und jackson
Ich habe 2 Klasse, die durch eine Viele-zu-viele-Beziehung verbunden sind.
So etwas wie dieser
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;
}
Der Datentyp funktioniert gut. Ich kann mit Hibernate ohne Problem schreiben und lesen.
Ich möchte jedoch in der Lage sein, ein Benutzerobjekt mit einer REST-API zurückzugeben, also verwende ich Jackson, um es zu deserialisieren. Das Problem ist, wenn ich das mache, deserialisiert es jedes Type in dem User-Objekt, das andere Type-Objekte enthält, und es erzeugt ein riesiges Durcheinander.
Ist es möglich, stattdessen den Satz von Long Type IDs anstelle von Set of Type zurückgeben?