我觉得我已经对杰克逊的序列化/反序列化进行了大量研究,我发现this blog post非常有帮助。然而,尽管我付出了最大的努力,我还是继续收到递归的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;
}
我的吸气剂或其他东西需要@JsonIgnore
吗?有人知道我在这里缺少什么吗?我希望员工在检索公司或公司时不会出现。但是,我希望每个员工都能出现一家公司。