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);

  

另外,json忽略字段使用以下注释

@JsonIgnore

  




原文地址:https://www.cnblogs.com/nsw2018/p/6699957.html