我有以下实体:
public class OrderEntity {
private long id;
/// fields
@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
@JoinColumn(name = "order_entity_id")
private List<BusinessCartEntity> businessCart = new ArrayList<>();
}
public class BusinessCartEntity {
private long id;
//fields
@ManyToOne
@JsonExclude
private OrderEntity orderEntity;
}
我使用Gson将它们序列化为JSON,然后可以在以后恢复它们。为了序列化,我只是忽略了与父实体的关系,以避免StackOverFlow异常。当我想反序列化它们时,问题出现了。当然,关系不会创建,BusinessCartEntity的OrderEntity将为空,必须手动创建。这是很难维护的。有没有办法告诉Gson将orderEntity的值设置为父实体?或者在序列化时保存orderEntity的值,然后正确地反序列化?
我用Gson来反序列化,因为我用它来序列化对象,但我也对其他库持开放态度。提前谢谢你。
1条答案
按热度按时间k7fdbhmy1#
尝试将
@JsonIdentityInfo
与这两个类一起使用