问题遇到的现象和发生背景
项目中有个beanA,继承了beanB,A中有个字段是Code,B中有个字段是code,都有各自对应的get、set方法,其中A中Code是private修饰,B中code是public修饰,A无注解,B有@Component注解。
遇到的现象和发生背景,请写出第一个错误信息
mybatis中写的sql是select code from table,返回结果是beanA,结果debug发现,A.getCode为null,对象中code是有值的。
我的解答思路和尝试过的方法
已知mybatis中返回结果不区分大小写。
我开始认为是字段编译顺序问题,c在C前,所以先给code赋值。但是后来写了个测试类验证,测试类中是Code有值,跟现状正好相反,测试场景跟项目中唯一区别是测试的父类没有加@Component注解。
请解惑,这是什么原理?正确的结果应该是什么?