问题: spring-data-jpa 中,如果使用了one-to-many , many-to-one的注释,会在Jackson 2.7.0 进行json字符串化的时候出现错误.
解决办法:
通过在主表的pojo中增加@JsonManagedReference来注解关联字段
@OneToMany(mappedBy="testRole",fetch=FetchType.EAGER) @JsonManagedReference private Set<TestUser> testUserSet = new HashSet<TestUser>();
在子表的pojo中增加@JsonBackReference 来注解关联字段
@ManyToOne(fetch=FetchType.EAGER) @JsonBackReference @JoinColumn(name="role_id") private TestRole testRole;
然后通过Jackson来生成json
new ObjectMapper().writeValueAsString(obj);
另外,json忽略字段使用以下注释
@JsonIgnore