Spring Boot:无限递归



在我的Spring启动Hibernate项目中有以下实体:

<<p>实体/strong>
  1. Task -表示任务/作业的详细信息
  2. Agent——表示可用于执行
  3. 任务的代理
  4. TaskAgent—存储分配给执行任务的代理的详细信息

关系

  1. 任务有一个名为taskAgents的TaskAgent的ManyToOne引用
  2. Agent也有一个名为agentTasks的多对多的TaskAgent引用。
  3. 然而,TaskAgent有一个名为Task的多toone引用Task和一个名为selectedAgent的多toone引用Agent。

在我的控制器

中还有以下API端点终点

  1. /tasks (GET) -返回所有任务的列表,如果任务已分配给代理,则也发送代理详细信息

  2. /agents (GET)—返回所有代理的列表,还包括为代理分配的所有任务的列表

问题

不幸的是,这种设置导致无限递归。我知道问题出在哪里了

获取任务的结果是填充TaskAgent (TaskAgent类型,其中存储分配给该任务的人的详细信息),其中包含selectedAgent,其中包含对TaskAgent的ManyToMany引用(其中为该代理分配的所有任务列表可用)

我尝试LAZY_LOAD与Hibernate5Module, @JsonBackReference和@JsonManagedReference, @JsonIgnore, @JsonIgnoreProperties在父实体等

如何使这两个端点在没有递归的情况下工作?

感谢

为了别人的利益,我用

解决了这个问题@JsonIdentityInfo(generator= JSOGGenerator.class)

相关内容

  • 没有找到相关文章

最新更新