mybatis-plus 3.2.0 到 3.4.3:ServiceImpl 中的 TypeVariableImpl 报错分析

部分报错内容:

Caused by: java.lang.ClassCastException: sun.reflect.generics.reflectiveObjects.TypeVariableImpl cannot be cast to java.lang.Class
	at com.baomidou.mybatisplus.extension.service.impl.ServiceImpl.currentModelClass(ServiceImpl.java:88) ~[mybatis-plus-extension-3.4.3.jar:3.4.3]
	at com.baomidou.mybatisplus.extension.service.impl.ServiceImpl.<init>(ServiceImpl.java:62) ~[mybatis-plus-extension-3.4.3.jar:3.4.3]
	at com.damo.base.service.impl.BaseService.<init>(BaseService.java:19) ~[classes/:na]
	at com.damo.common.service.impl.UserService.<init>(UserService.java:10) ~[classes/:na]
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_202]
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_202]
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_202]
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_202]
	at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:212) ~[spring-beans-5.3.8.jar:5.3.8]
	... 52 common frames omitted

3.2.0版本中的ServiceImpl:
3.2.0版本中的ServiceImpl
3.4.3版本中的ServiceImpl:
3.4.3版本中的ServiceImpl
稍微对比一下,3.4.3版本中多了红框中的内容,在实体UserService编译的时候,发生了泛型的擦除,导致了该错误。

在3.4.3.1版本也修改了这一部分的代码:
在这里插入图片描述
所以,升级或者降级mybatis-plus
具体原因有兴趣的可以研究一下然后留个链接。我看着好像都差不多的写法。

类似问题:

https://gitee.com/baomidou/mybatis-plus/issues/I3SE8R?_from=gitee_search

  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

艳阳高照中最亮的星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值