我知道从 Jackson 1.6 开始,我可以使用两个注释来解决无限递归问题:@JsonManagedReference
和@JsonBackReference
.
问题是这些注释似乎只在双向关系中起作用。相反,我的循环在以单向关联为界的 4 个对象之间增长。我用 Json 粘贴导致 stackoverflow 循环的属性。
大车:
@OneToMany(fetch=FetchType.LAZY,cascade=CascadeType.ALL,orphanRemoval=true)
@JoinColumn(name = "cart_fk")
private Collection<CartLine> cartLines = new ArrayList<CartLine>();
购物车线:
@OneToOne
@JoinColumn(name="product_fk")
private Product product;
产品:
@ManyToOne
private User user;
用户:
@OneToMany(fetch=FetchType.LAZY,cascade=CascadeType.ALL,orphanRemoval=true)
@JoinColumn(name = "user_fk")
private Collection<Cart> cart = new ArrayList<Cart>();
所以我有这个循环:Cart
-> CartLine
-> Product
-> User
-> Cart
-> 等等。
如何停止由单向关系创建的循环?