错误信息:Failed invoking constructor for handler class com.baomidou.mybatisplus.core.handlers.CompositeEnumTypeHandler
背景:接了一个新项目,之前开发用的TypeHandler做java实体和jdbc转换,我新增了一个实体结果报错了,并没有使用自定义handler。
解决:debug之后发现,不是配置文件等问题,单纯是因为我的实体字段顺序和数据库顺序不一样,debug发现转换的时候是按照java实体顺序和数据库做映射转换值的,如果顺序不一样且字段类型不同时就会报错了。
拓展:同理,数据库新增字段,预发线上共用一张表,但是线上代码实体没增加字段,也不会有问题。