десериализовать ленивую загрузку в спящий режим и джексона
Есть ли способ сохранить LAZY-загрузку и десериализовать объект, используя идентификатор вместо объекта 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 types;
}
public class Type {
@Id
@JsonProperty
public long id;
@ManyToMany(
fetch = FetchType.EAGER,
mappedBy = "types",
targetEntity = User.class
)
@JsonProperty
public Set users;
}
Тип данных работает просто отлично. Я могу писать и читать, используя Hibernate без проблем.
Однако я хочу иметь возможность возвращать объект User с помощью API REST, поэтому яЯ использую Джексона для десериализации. Проблема в том, что когда я это делаю, он десериализует каждый тип в объекте User, который включает в себя другие объекты Type, и создает огромный беспорядок.
Возможно ли вместо этого просто вернуть идентификаторы типа Long вместо Set of Type?