Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

3.4.3.1版本resultMap存在类型转换异常 #3634

Closed
zyzyzy523 opened this issue Jun 16, 2021 · 19 comments
Closed

3.4.3.1版本resultMap存在类型转换异常 #3634

zyzyzy523 opened this issue Jun 16, 2021 · 19 comments

Comments

@zyzyzy523
Copy link
Contributor

zyzyzy523 commented Jun 16, 2021

当前使用版本(必填,否则不予处理)

3.4.3.1

该问题是如何引起的?(确定最新版也有问题再提!!!)

这个PR 的代码修改后存在问题 #3587
调试发现类型除了ResuleMap外还有其他类型,强制转换会抛出类型转换异常
image

重现步骤(如果有就写完整)

报错信息

Caused by: java.lang.ClassCastException: class com.baomidou.mybatisplus.core.MybatisConfiguration$StrictMap$Ambiguity cannot be cast to class org.apache.ibatis.mapping.ResultMap (com.baomidou.mybatisplus.core.MybatisConfiguration$StrictMap$Ambiguity and org.apache.ibatis.mapping.ResultMap are in unnamed module of loader 'app')
at com.baomidou.mybatisplus.core.MybatisConfiguration.checkGloballyForDiscriminatedNestedResultMaps(MybatisConfiguration.java:318) ~[mybatis-plus-core-3.4.3.1.jar:3.4.3.1]
at com.baomidou.mybatisplus.core.MybatisConfiguration.addResultMap(MybatisConfiguration.java:222) ~[mybatis-plus-core-3.4.3.1.jar:3.4.3.1]
at org.apache.ibatis.builder.MapperBuilderAssistant.addResultMap(MapperBuilderAssistant.java:209) ~[mybatis-3.5.6.jar:3.5.6]
at org.apache.ibatis.builder.ResultMapResolver.resolve(ResultMapResolver.java:47) ~[mybatis-3.5.6.jar:3.5.6]
at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:289) ~[mybatis-3.5.6.jar:3.5.6]
at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:254) ~[mybatis-3.5.6.jar:3.5.6]
at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElements(XMLMapperBuilder.java:246) ~[mybatis-3.5.6.jar:3.5.6]
at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:119) ~[mybatis-3.5.6.jar:3.5.6]
at org.apache.ibatis.builder.xml.XMLMapperBuilder.parse(XMLMapperBuilder.java:95) ~[mybatis-3.5.6.jar:3.5.6]
at com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean.buildSqlSessionFactory(MybatisSqlSessionFactoryBean.java:593) ~[mybatis-plus-extension-3.4.3.1.jar:3.4.3.1]
at com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean.afterPropertiesSet(MybatisSqlSessionFactoryBean.java:431) ~[mybatis-plus-extension-3.4.3.1.jar:3.4.3.1]
at com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean.getObject(MybatisSqlSessionFactoryBean.java:628) ~[mybatis-plus-extension-3.4.3.1.jar:3.4.3.1]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ~[spring-beans-5.3.6.jar:5.3.6]
at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) ~[spring-beans-5.3.6.jar:5.3.6]
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:638) ~[spring-beans-5.3.6.jar:5.3.6]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1334) ~[spring-beans-5.3.6.jar:5.3.6]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1177) ~[spring-beans-5.3.6.jar:5.3.6]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:564) ~[spring-beans-5.3.6.jar:5.3.6]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) ~[spring-beans-5.3.6.jar:5.3.6]
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.6.jar:5.3.6]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.6.jar:5.3.6]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.6.jar:5.3.6]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.6.jar:5.3.6]
at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) ~[spring-beans-5.3.6.jar:5.3.6]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1380) ~[spring-beans-5.3.6.jar:5.3.6]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1300) ~[spring-beans-5.3.6.jar:5.3.6]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType(AbstractAutowireCapableBeanFactory.java:1501) ~[spring-beans-5.3.6.jar:5.3.6]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1399) ~[spring-beans-5.3.6.jar:5.3.6]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:601) ~[spring-beans-5.3.6.jar:5.3.6]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) ~[spring-beans-5.3.6.jar:5.3.6]
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.6.jar:5.3.6]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.6.jar:5.3.6]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.6.jar:5.3.6]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.6.jar:5.3.6]
at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) ~[spring-beans-5.3.6.jar:5.3.6]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1380) ~[spring-beans-5.3.6.jar:5.3.6]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1300) ~[spring-beans-5.3.6.jar:5.3.6]
at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887) ~[spring-beans-5.3.6.jar:5.3.6]
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) ~[spring-beans-5.3.6.jar:5.3.6]
... 20 more

@babysinan
Copy link

同问

@zyzyzy523
Copy link
Contributor Author

@babysinan 我看了下,是有个人提了优化的代码的PR,看了他提交的代码也没优化啥,还改出问题了,我项目都起不来了。

@qmdx
Copy link
Member

qmdx commented Jun 16, 2021

请使用版本 3.4.4.3-SNAPSHOT 试试

@qmdx qmdx reopened this Jun 16, 2021
@zyzyzy523
Copy link
Contributor Author

@qmdx 3.4.4.3-SNAPSHOT没有问题

@Pengap
Copy link

Pengap commented Jun 17, 2021

xml resultMap 只要有嵌套的节点,就强转错误了

@qmdx
Copy link
Member

qmdx commented Jun 18, 2021

xml resultMap 只要有嵌套的节点,就强转错误了

请使用版本 3.4.4.3-SNAPSHOT 试试

@Pengap
Copy link

Pengap commented Jun 18, 2021

xml resultMap 只要有嵌套的节点,就强转错误了

请使用版本 3.4.4.3-SNAPSHOT 试试

回退到上个版本了

@qmdx
Copy link
Member

qmdx commented Jun 18, 2021

xml resultMap 只要有嵌套的节点,就强转错误了

请使用版本 3.4.4.3-SNAPSHOT 试试

回退到上个版本了

你测下,是否解决你的问题

@lishangbu
Copy link

xml resultMap 只要有嵌套的节点,就强转错误了

请使用版本 3.4.4.3-SNAPSHOT 试试

回退到上个版本了

你测下,是否解决你的问题

同样的问题,不过使用3.4.4.3-SNAPSHOT 已经可以了

@Second-dimension
Copy link

Second-dimension commented Jun 18, 2021

麻烦问一下什么时间点会发版修复这个问题 maven依赖形式的 @qmdx

@qmdx
Copy link
Member

qmdx commented Jun 19, 2021

麻烦问一下什么时间点会发版修复这个问题 maven依赖形式的 @qmdx

会尽快发布

@zyzyzy523
Copy link
Contributor Author

@qmdx 您好,请问最新的版本什么时候会发布呢?

@YiuTerran
Copy link

目前只能回滚版本了

@r13ljj
Copy link

r13ljj commented Jul 29, 2021

麻烦先把3.4.4.3-SNAPSHOT 发布一下到阿里私服,谢谢

@liu-xinhui
Copy link

请使用版本 3.4.4.3-SNAPSHOT 试试

    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>3.4.4.3-SNAPSHOT</version>
    </dependency>

找不到这个版本呀

@qmdx
Copy link
Member

qmdx commented Aug 9, 2021

请使用版本 3.4.4.3-SNAPSHOT 试试

    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>3.4.4.3-SNAPSHOT</version>
    </dependency>

找不到这个版本呀

查看文档,快照版本的使用

@xgj1988
Copy link

xgj1988 commented Aug 20, 2021

这个问题还没解决吗?速度太慢了。

@qmdx
Copy link
Member

qmdx commented Aug 20, 2021

版本 3.4.3.2 已发布,请升级验证修复该问题,有任何问题 issue 该问题关闭!

@qmdx qmdx closed this as completed Aug 20, 2021
@xgj1988
Copy link

xgj1988 commented Aug 23, 2021

3.4.3.2 出现如下问题:

Caused by: java.sql.SQLException: Conversion not supported for type java.io.Serializable
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:89)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:63)
at com.mysql.cj.jdbc.result.ResultSetImpl.getObject(ResultSetImpl.java:1476)
at com.mysql.cj.jdbc.result.ResultSetImpl.getObject(ResultSetImpl.java:1483)
at com.alibaba.druid.pool.DruidPooledResultSet.getObject(DruidPooledResultSet.java:1777)
at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.ibatis.logging.jdbc.ResultSetLogger.invoke(ResultSetLogger.java:69)
at com.sun.proxy.$Proxy134.getObject(Unknown Source)
at com.baomidou.mybatisplus.core.handlers.MybatisEnumTypeHandler.getNullableResult(MybatisEnumTypeHandler.java:118)
at com.baomidou.mybatisplus.core.handlers.MybatisEnumTypeHandler.getNullableResult(MybatisEnumTypeHandler.java:49)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

10 participants