问题: 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);