【问题标题】:Circular Dependency bidirectional @OneToMany JPA relationship循环依赖双向@OneToMany JPA 关系
【发布时间】:2018-11-29 12:59:53
【问题描述】:

给定以下两个实体:

@Entity
public class Goal {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

private String description;

private BigDecimal amount;

@Email
private String email;

@Email
private String supervisorEmail;

private LocalDateTime deadline;

@Enumerated(EnumType.STRING)
@Column(nullable = false)
private PaymentPurpose purpose;

@Enumerated(EnumType.STRING)
private GoalStatus status;

@ManyToOne(cascade = CascadeType.ALL)
private Person person;



//getters and setters
}

@Entity
public class Person {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    private String firstName;
    private String lastName;

    @Email
    private String email;

    @OneToMany(mappedBy = "person")
    private List<Goal> goals;

    //getters and setters

}

当我在插入一个 Dummy Goal 和一个 Dummy Person 后调用 goalRepository.findAll() 时,我得到一个永无止境的递归循环。 将@JsonIgnore 添加到Person 中的goal 列表没有帮助。我也试过@JsonIgnoreProperties。我错过了什么?

【问题讨论】:

    标签: java hibernate spring-boot jpa


    【解决方案1】:

    如果 jackson 引发异常,请尝试使用以下两个注解:

    • @JsonManagedReference
    • @JsonBackReference

    http://www.baeldung.com/jackson-bidirectional-relationships-and-infinite-recursion

    【讨论】:

      猜你喜欢
      • 2017-01-09
      • 1970-01-01
      • 2017-06-23
      • 2013-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-18
      相关资源
      最近更新 更多