zoukankan      html  css  js  c++  java
  • jpa 报错: Unable to build Hibernate SessionFactory; nested exception is org.hibernate.loader.MultipleBagFetch

    model代码如下:

    @OneToMany(fetch=FetchType.EAGER, cascade = CascadeType.ALL)
        @Where(clause="isValid=1 and orderType=1")
        @JoinColumn(name = "orderUUID", referencedColumnName = "JobShippingOrderUUID",insertable = false, updatable = false)
        public List<BoJobgoods> getBoJobgoodsList() {
            return boJobgoodsList;
        }
    
        @OneToMany(fetch=FetchType.EAGER, cascade = CascadeType.ALL)
        @Where(clause="isValid=1 and orderType=1")
        @JoinColumn(name = "orderUUID", referencedColumnName = "JobShippingOrderUUID",insertable = false, updatable = false)
        public List<BoJobcontainer> getBoJobcontainerList() {
            return boJobcontainerList;
        }

    启动就报错 Unable to build Hibernate SessionFactory; nested exception is org.hibernate.loader.MultipleBagFetch。。。。。。。。。。

    原因是同一个model里不能有二个 FetchType.EAGER 

    于是把另一个改成:FetchType.LAZY 再次启动成功

    但是访问接口又报另一个错:

    Could not write JSON: failed to lazily initialize a collection of role: com.kintech.model.domain.bo.BoJobshippingorder.boJobgoodsList, could not initialize proxy - no Session; nested exception is com.fasterxml.jackson.databind.JsonMappingException: failed to lazily initialize a collection of role: 

    于是再改把后码的list字段添加@Fetch(FetchMode.SUBSELECT)注解代码如下:

    @OneToMany(fetch=FetchType.EAGER)
        @Where(clause="isValid=1 and orderType=1")
        @JoinColumn(name = "orderUUID", referencedColumnName = "JobShippingOrderUUID",insertable = false, updatable = false)
        public List<BoJobgoods> getBoJobgoodsList() {
            return boJobgoodsList;
        }
    
        public void setBoJobgoodsList(List<BoJobgoods> boJobgoodsList) {
            this.boJobgoodsList = boJobgoodsList;
        }
    
        @OneToMany(fetch=FetchType.EAGER)
        @Fetch(FetchMode.SUBSELECT)
        @Where(clause="isValid=1 and orderType=1")
        @JoinColumn(name = "orderUUID", referencedColumnName = "JobShippingOrderUUID",insertable = false, updatable = false)
        public List<BoJobcontainer> getBoJobcontainerList() {
            return boJobcontainerList;
        }

     再运行,完全搞定



    欢迎加入JAVA技术交流QQ群:179945282

    欢迎加入ASP.NET(C#)交流QQ群:17534377


  • 相关阅读:
    蓝桥杯 矩阵翻硬币
    2018 南京预选赛 J Sum ( 欧拉素数筛 、Square-free Number、DP )
    HDU 3826 Squarefree number ( 唯一分解定理 )
    HDU 5727 Necklace ( 2016多校、二分图匹配 )
    HDU 5726 GCD (2016多校、二分、ST表处理区间GCD、数学)
    hihocoder 1457 后缀自动机四·重复旋律7 ( 多串连接处理技巧 )
    后缀自动机 ( SAM ) 模板
    2018 焦作网络赛 K Transport Ship ( 二进制优化 01 背包 )
    2018 焦作网络赛 G Give Candies ( 欧拉降幂 )
    蓝桥杯 买不到的数目 ( 裴蜀定理 )
  • 原文地址:https://www.cnblogs.com/q149072205/p/14819175.html
Copyright © 2011-2022 走看看