SpringBootJPA 多对多死循环 40C
@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个回答

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

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

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问