Spring JsonIgnore inactive导致无限循环

mspsb9vt  于 2024-01-06  发布在  Spring
关注(0)|答案(1)|浏览(109)

我捕获了不定式循环,无法成功创建JSON。我有2个表

  1. @Entity
  2. @Table(name = "size")
  3. public class CSize {
  4. @Id
  5. @GeneratedValue(strategy = GenerationType.IDENTITY)
  6. private Long id;
  7. @Column(name = "size")
  8. private String size;
  9. @JsonIgnore
  10. @ManyToMany(cascade = CascadeType.REFRESH, fetch = FetchType.EAGER)
  11. @JoinTable(name = "product_size", joinColumns = { @JoinColumn(name = "size_id") }, inverseJoinColumns = {
  12. @JoinColumn(name = "product_id") })
  13. private Set<CProduct> products = new HashSet<>();}

个字符
我的愿望是,当我检索一个CProject列表时,它应该包含来自CSize的字段,但在CSize对象中,它不应该包含product字段。但实际上,CSize对象仍然包含product字段,形成了一个无限循环。


的数据
禁用无限循环。

fkaflof6

fkaflof61#

试试这些样品

  1. @ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
  2. @JoinTable( name = "user_product",
  3. joinColumns = @JoinColumn(name = "user_id"),
  4. inverseJoinColumns = @JoinColumn(name = "product_id"))
  5. @JsonManagedReference
  6. private List<Product> listOfProductsForUser;

字符串
和/或

  1. @ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL, mappedBy = "listOfProductsForUser")
  2. @JsonBackReference
  3. private List<User> listOfUsersForProduct;


聚焦于@JsonManagedReferencefetch = FetchType.LAZY

展开查看全部

相关问题