SpringBoot + MybatisPlus使用枚举类型enum报错:No enum constant xxx

  • A+
所属分类:mybatis SpringBoot

mybatis-plus版本:3.4.0

entity中使用了枚举类型接收字段,执行报错

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.executor.result.ResultMapException: Error attempting to get column 'xxx' from result set. Cause: java.lang.IllegalArgumentException: No enum constant xxx

 

解决:

  1. 检查枚举中是否有加@EnumValue注解

2. 如果加了@EnumValue注解,检查MyBatis-plus版本是否低于3.5.2,如果低于3.5.2,需要检查配置类中是否使用type-enums-package属性配置了枚举类的扫描路径
mybatis-plus:
  type-enums-package: xxx.xxx.xxx # 此处填入枚举类所在路径,即包名
如果配置了该属性,会将路径下的枚举类进行注入,让实体类字段能够简单快捷的使用枚举属性

ZPY

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: