mybatis用collection延迟加载时出现java.lang.IndexOutOfBoundsException

在这里插入图片描述
我是在做mybatis一对多的延迟加载出现了这样的问题,我刚开始有UserAccountList的set和get方法,还有有参构造函数(没写无参构造函数),然后报了数组越界异常
我发现可能是延迟加载的原因,先查询user,因为user只有三个属性,而我写的有参构造函数有4个参数,那么在封装结果集的时候会发生数组越界异常,
当我加上无参构造函数的时候不报错了,而当我把所有的构造函数删除了以后也不报错,分析原因:是因为java有默认(隐式)的无参构造函数,而当显示定义有参构造函数时,隐式无参构造函数废弃,此时若想再用无参构造函数,必须显示声明

当我把无参和有参构造函数都删除时,也不报错,说明调用了隐式的无参构造函数
当我把get和set方法都删除时,居然控制台也能正确打印结果,说明可能mybatis框架底层的ORM映射封装了java里set和get方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值