美文网首页
cannot simultaneously fetch mult

cannot simultaneously fetch mult

作者: 其实与终归 | 来源:发表于2019-03-01 17:16 被阅读0次

    问题概述 

    @oneToMany@ManyToOne 关联

    "一" 方注解如下:

    @OneToMany(mappedBy = "conDataInfo",cascade=CascadeType.ALL,fetch=FetchType.EAGER)

    @Cascade(org.hibernate.annotations.CascadeType.SAVE_UPDATE)

    private List<ThirdPartyInfo> thirdPartyInfo;

    "多"方注解如下:

    @ManyToOne

    @JoinColumn(name = "systemCode")

    private ConDataInfo conDataInfo;

    "一"方中共有三个与"多"方的关联关系.

    在这种情况下,项目启动时报:cannot simultaneously fetch multiple bags:

    解决方案

    有两个解决方案:

    第一种:将fetch=FetchType,EAGER改为fetch=FetchType,Lazy

    这么改的话,项目可以启动,可以入库,但是在查询时有问题,查询时报"failed to lazily initialize a collection of role"异常.

    第二种:将接收类型List改为Set

    经测试,查询功能正常.

    相关文章

      网友评论

          本文标题:cannot simultaneously fetch mult

          本文链接:https://www.haomeiwen.com/subject/opqjuqtx.html