![](/img/trans.png)
[英]How to convert JSON object with unidirectional Java Object using Jackson?
[英]Json and Jackson stackoverflow loop with unidirectional relationships
我知道從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
- >等。
如何停止由單向關系創建的循環?
您可以使用以下方式注釋您的實體
@JsonIdentityInfo(generator = ObjectIdGenerators.IntSequenceGenerator.class)
使用您想要的任何生成器。 這將為每個對象提供一個標識符。 如果該對象再次出現,Jackson將使用其ID而不是對其進行完全序列化。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.