225 Star 2.5K Fork 497

MyBatis-Flex/MyBatis-Flex

 / 详情

[Bug]: ClassUtil.getAllMethods方法处理枚举类型时逻辑有缺陷,导致CompositeEnumTypeHandler的delegate未能被分配FlexEnumTypeHandler

已完成
创建于  
2024-02-27 17:50

这个 Bug 是否已经存在:

如何复现:

当枚举实现了某个自定义的interface,并在interface的抽象方法上加@EnumValue注解时就会复现

预期结果:

ClassUtil.doGetMethods方法,应该根据传入的clazz参数判断一下是否是枚举类型,如果是枚举类型,最后递归的时候应该传clazz.getInterfaces(),如果不是枚举则传clazz.getSuperclass()

实际结果:

因为枚举只能实现interface不能继承父类,所以clazz.getSuperclass()得到的就是jdk中的Enum类,无法获取到interface中的@EnumValue注解,导致CompositeEnumTypeHandler的delegate创建错误

截图或视频:

输入图片说明

关联版本:

1.8.0

评论 (0)

高健 创建了任务
高健 添加了
 
bug
标签
王帅 任务状态待办的 修改为进行中
Michael Yang 通过 mybatis-flex/mybatis-flex Commit 83c3afe任务状态进行中 修改为已完成
展开全部操作日志

登录 后才可以发表评论

状态
负责人
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
参与者(1)
1
https://gitee.com/mybatis-flex/mybatis-flex.git
git@gitee.com:mybatis-flex/mybatis-flex.git
mybatis-flex
mybatis-flex
MyBatis-Flex

搜索帮助

A270a887 8829481 3d7a4017 8829481