无感五 2019-09-12 08:33 采纳率: 50%
浏览 544
已采纳

SpringBootJPA 多对多死循环

@DynamicInsert
@DynamicUpdate
@Builder
@Entity
@Data //生成getter,setter等函数
@AllArgsConstructor //生成全参数构造函数
@NoArgsConstructor //生成无参构造函数
@SuppressWarnings("unused")//去除黄色警告
@Table(name = "cs_album")
public class CsAlbum {

// 主键ID
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @ApiModelProperty(name = "id", value = "主键ID",hidden = true)
    private Long id;


    //用户id
    @Column(nullable=false,name="uId",columnDefinition="bigint COMMENT '用户id'")
    @ApiModelProperty(name = "uId", value = "用户id")
    private Long  uId;

        @ManyToMany
    @JoinTable(
            //指定表名字
            name = "cs_album_design_works",
            //配置维护放字段
            joinColumns = @JoinColumn(name = "album_id",referencedColumnName = "id"),
            //配置被维护放字段
            inverseJoinColumns = @JoinColumn(name = "design_works_id",referencedColumnName = "id")
    )
    private List<CsDesignWorks> csDesignWorks = new ArrayList<>(  );



}

被维护表CsDesignWorks

@DynamicInsert
@DynamicUpdate
@Builder
@Entity
@Data //生成getter,setter等函数
@AllArgsConstructor //生成全参数构造函数
@NoArgsConstructor //生成无参构造函数
@SuppressWarnings("unused")//去除黄色警告
@Table(name = "cs_design_works")
public class CsDesignWorks {    

    // 主键ID
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @ApiModelProperty(name = "id", value = "主键ID",hidden = true)
    private Long id;



    @ManyToMany(mappedBy = "csDesignWorks")
    private List<CsAlbum> csAlbums = new ArrayList<>(  );





}

Service类

@Service
@Transactional
public class CsAlbumServiceImpl implements CsAlbumService {
//根据id查询专辑内容
    @Override
    public CsAlbum viewAlbum(Long id){
        CsAlbum csAlbum = csAlbumRepository.findById( id ).get();
        csAlbum.getCsDesignWorks();

        return  csAlbum;

    }
            }

出现死循环为什么呢

  • 写回答

3条回答 默认 最新

  • 派三木 2019-09-12 09:57
    关注

    你的循环错误,能发出来不?部分的,试试在@manytomany 字段加@J
    sonIgnore,或者加@JsonIgnoreProperties(value = { "实体对象" })
    死循环错误能给出吗?多对一,多对多,死循环大多是序列化问题

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • threenewbee 2019-09-12 08:58
    关注
    评论
  • 一切顺势而行 2019-09-14 18:15
    关注

    大哥不要jpa还要问这样的问题,我们开发中禁止使用oneToOne 和 ManyToOne,OneToMany

    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已采纳回答 12月22日

悬赏问题

  • ¥15 初学者c语言题目解答
  • ¥15 div editable中的光标问题
  • ¥15 mysql报错1415Not allowed to return a result set from a trigger 不知如何修改
  • ¥60 Python输出Excel数据整理,算法较为复杂
  • ¥15 回答几个问题 关于数据库
  • ¥15 51单片机串口通信问题,未完成且要修改
  • ¥15 百鸡问题 c++编程问题(相关搜索:输出数据)
  • ¥30 如何在CMD中设置代理
  • ¥15 我有一块薛定谔的硬盘
  • ¥15 微信小游戏开发2D碰撞检测问题