a实体类
private class A{
   private Integer id;
   private String xxx; 
   private B b;  // 这是B实体
}b实体类
@JsonIgnoreProperties( { "bDetail" })
private class B{
   private Integer id;
   private String xxx;
   Set<BDetail> bDetail= new HashSet<BDetail>();// 这是B实体明细一对多
}Bdetail的实体应该可以不用模拟了。以上省略很多东西,纯属模拟情形。我在查询A实体的时候,转换为json报错了,报的错是指向B实体的,
只要删除B实体里的set则可以这是怎么回事啊,明明已经用注解去掉了啊。JSON

解决方案 »

  1.   

    肯定啊,内存溢出了,因为他们之间的关系是双向的,,导致程序一直去重复取数据,
    比如:a.getBs() 取到b的集合,然后每一个b又可以b.getA() 。
    这就是一个死循环,,,解决方案就是 设置a为 root节点,就不会继续往下取数据。。
    比如:
        @Action(value = "siteVisit", results = { @Result(name = "success", type = "json", params = { "root", "count" }) })
      

  2.   

    ------------------------------------------------------------------------------------
    就是B没有A我才纳闷,A有B,B有BDetail。
      

  3.   


    那BDetail里面有哪些关联关系呢???肯定是有死循环的
      

  4.   

    用google 的插件 Gson  转值很方便。