Java 即使使用@JsonManagedReference注释,也会发生JPA EJB无限递归

Java 即使使用@JsonManagedReference注释,也会发生JPA EJB无限递归,java,json,jpa,jackson,Java,Json,Jpa,Jackson,我觉得我对Jackson的序列化/反序列化是如何发生的做了大量的研究,我发现这非常有用。然而,尽管我尽了最大的努力,我仍然收到递归JSON。我有两种模式——我们称之为公司和员工 Company and Employee are joined in the database in a normalized table mapping FK's COMPANY_ID to EMPLOYEE_ID When an Employee moves to another Company, they are

我觉得我对Jackson的序列化/反序列化是如何发生的做了大量的研究,我发现这非常有用。然而,尽管我尽了最大的努力,我仍然收到递归JSON。我有两种模式——我们称之为公司和员工

Company and Employee are joined in the database in a normalized table mapping FK's COMPANY_ID to EMPLOYEE_ID
When an Employee moves to another Company, they are still an Employee.
Companies have a 1:N relationship with Employees
从员工模型中:

@ManyToOne
@JoinTable(name="COMPANY_EMPLOYEE",
        joinColumns =
            { @JoinColumn(name = "EMPLOYEE_ID") },
        inverseJoinColumns =
            { @JoinColumn(name = "COMPANY_ID") })
@JsonManagedReference
private Company company;

public Company getCompany() { return this.Company; }
public void setCompany(Company company) {this.company = company;}
现在,从公司模式来看:

@OneToMany(mappedBy="company")
@JsonBackReference
private List<Employee> employees;

public List<Employee> getEmployees() { return employees; }

public void setEmployees(List<Employees> employees) {
    this.employees = employees;
}
@OneToMany(mappedBy=“company”)
@JsonBackReference
私人名单雇员;
public List getEmployees(){return employees;}
公共雇员(列出雇员){
这是。雇员=雇员;
}

我的getter上需要
@JsonIgnore
吗?有人知道我遗漏了什么吗?我希望员工在检索一个或多个公司时不要出现。不过,我确实希望每个员工都有一家公司。

你有没有试着把JsonIgnore放在getter上?它是否达到了预期效果?您是否尝试将JsonIgnore放在getter上?它是否达到了预期的效果?