spring-data-jpa 中,如果使用了one-to-many , many-to-one的注释,会在Jackson进行json字符串化的时候出现错误

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

你可能感兴趣的:(spring-data-jpa 中,如果使用了one-to-many , many-to-one的注释,会在Jackson进行json字符串化的时候出现错误)