Jackson @JsonManagedReference 关于集合(一对多)

Han*_*hen 5 java json one-to-many jackson

我有以下两个课程。

School有很多TestTakers

@Entity
@Table(name = "school")
@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id")
public class School extends BaseModel {

    @Column(name = "name")
    private String name;
    @OneToMany(mappedBy = "school")
    //    @JsonManagedReference <<<<< If not commented out, then error
    private Set<TestTaker> testTakers;
//getter setters
}

// TestTaker.java
@Entity
@Table(name = "test_taker")
@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id")
public class TestTaker extends BaseModel {
    @Column(name = "first_name")
    private String firstName;

    @Column(name = "last_name")
    private String lastName;

    @ManyToOne
    @JoinColumn(name = "school_id")
    @JsonBackReference("school_testTaker")
    private School school;
//getters setters
}
Run Code Online (Sandbox Code Playgroud)

谁能解释为什么不能在集合上注释 @JsonManagedReference?我会收到一条错误消息,说 Jackson 无法处理托管/返回引用。@JsonManagedReference 如何在常见的数据库关系中与 @JsonBackReference 一起工作 一对一、一对多、多对一

我已经阅读了文档,仍然不太明白杰克逊试图实现的目标