阿里新服务--seata问题,求解决~~~~~~~~-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

阿里新服务--seata问题,求解决~~~~~~~~

2019-05-07 15:03:25 4641 1

在使用框架的时候遇到了如下错误:com.alibaba.druid.sql.ast.expr.SQLInListExpr cannot be cast to com.alibaba.druid.sql.ast.expr.SQLBinaryOpExpr。是在使用批量操作时遇到的,请问该怎么解决呢?不使用批量操作就不会报错。
sql如下所示:

update csp_sys_attachement
<trim prefix="set" suffixOverrides=",">
    <if test="null!=param.bizTable">
        BIZTABLE=#{param.bizTable},
    </if>
    <if test="null!=param.bizId">
        BIZID=#{param.bizId},
    </if>
</trim>
where ID in
<foreach collection="param.list" index="index" item="item"
         separator="," open="(" close=")">
    #{item,jdbcType=VARCHAR}
</foreach>

日志如下所示:
Cause:
java.sql.SQLException: java.lang.ClassCastException: com.alibaba.druid.sql.ast.expr.SQLInListExpr cannot be cast to com.alibaba.druid.sql.ast.expr.SQLBinaryOpExpr
; uncategorized SQLException; SQL state [null]; error code [0]; java.lang.ClassCastException: com.alibaba.druid.sql.ast.expr.SQLInListExpr cannot be cast to com.alibaba.druid.sql.ast.expr.SQLBinaryOpExpr; nested exception is java.sql.SQLException: java.lang.ClassCastException: com.alibaba.druid.sql.ast.expr.SQLInListExpr cannot be cast to com.alibaba.druid.sql.ast.expr.SQLBinaryOpExpr

at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:89)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)
at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:73)
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:446)
at com.sun.proxy.$Proxy130.update(Unknown Source)
at org.mybatis.spring.SqlSessionTemplate.update(SqlSessionTemplate.java:294)
at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:69)
at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:61)
at com.sun.proxy.$Proxy149.batchUpdate(Unknown Source)
at io.tongchain.csp.provider.impl.sys.SysAttachementProviderImpl.batchUpdate(SysAttachementProviderImpl.java:42)
at io.tongchain.csp.provider.impl.sys.SysAttachementProviderImpl

89a3a24b.invoke()

at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:749)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:294)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:98)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688)
at io.tongchain.csp.provider.impl.sys.SysAttachementProviderImpl

902b0ad7.batchUpdate()

at org.apache.dubbo.common.bytecode.Wrapper8.invokeMethod(Wrapper8.java)
at org.apache.dubbo.rpc.proxy.javassist.JavassistProxyFactory$1.doInvoke(JavassistProxyFactory.java:47)
at org.apache.dubbo.rpc.proxy.AbstractProxyInvoker.invoke(AbstractProxyInvoker.java:86)
at org.apache.dubbo.config.invoker.DelegateProviderMetaDataInvoker.invoke(DelegateProviderMetaDataInvoker.java:56)
at org.apache.dubbo.rpc.protocol.InvokerWrapper.invoke(InvokerWrapper.java:56)
at io.seata.integration.dubbo.TransactionPropagationFilter.invoke(TransactionPropagationFilter.java:60)
at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:73)
at org.apache.dubbo.rpc.filter.ExceptionFilter.invoke(ExceptionFilter.java:63)
at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:73)
at org.apache.dubbo.monitor.support.MonitorFilter.invoke(MonitorFilter.java:88)
at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:73)
at org.apache.dubbo.rpc.filter.TimeoutFilter.invoke(TimeoutFilter.java:54)
at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:73)
at org.apache.dubbo.rpc.protocol.dubbo.filter.TraceFilter.invoke(TraceFilter.java:80)
at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:73)
at org.apache.dubbo.rpc.filter.ContextFilter.invoke(ContextFilter.java:79)
at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:73)
at org.apache.dubbo.rpc.filter.GenericFilter.invoke(GenericFilter.java:137)
at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:73)
at org.apache.dubbo.rpc.filter.ClassLoaderFilter.invoke(ClassLoaderFilter.java:38)
at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:73)
at org.apache.dubbo.rpc.filter.EchoFilter.invoke(EchoFilter.java:39)
at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:73)
at org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol$1.reply(DubboProtocol.java:128)
at org.apache.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.handleRequest(HeaderExchangeHandler.java:103)
at org.apache.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.received(HeaderExchangeHandler.java:200)
at org.apache.dubbo.remoting.transport.DecodeHandler.received(DecodeHandler.java:51)
at org.apache.dubbo.remoting.transport.dispatcher.ChannelEventRunnable.run(ChannelEventRunnable.java:57)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)

SQL
取消 提交回答
全部回答(1)
  • 小六码奴
    2019-07-17 23:34:55

    解决分布式事务问题,有两个设计初衷

    对业务无侵入:即减少技术架构上的微服务化所带来的分布式事务问题对业务的侵入
    高性能:减少分布式事务解决方案所带来的性能消耗
    seata中有两种分布式事务实现方案,AT及TCC

    AT模式主要关注多 DB 访问的数据一致性,当然也包括多服务下的多 DB 数据访问一致性问题
    TCC 模式主要关注业务拆分,在按照业务横向扩展资源时,解决微服务间调用的一致性问题

    0 0
相关问答

1

回答

请问客户端seata 1.5.2 服务端1.4的兼容吗?

2022-09-26 16:37:59 121浏览量 回答数 1

0

回答

seata1.5.2的服务端可以用1.4.2的客户端吗?

2022-09-05 17:29:50 32浏览量 回答数 0

1

回答

seata全局事务没有回滚怎么办啊?

2022-06-28 12:47:00 170浏览量 回答数 1

1

回答

seata找不到全局事务怎么办啊?

2022-06-30 12:05:12 295浏览量 回答数 1

0

回答

seata事务不回滚,客户端日志无异常,要怎么解决呢?

2022-06-28 13:08:50 128浏览量 回答数 0

1

回答

我需要使用阿里邮箱推送服务的接口

2019-03-05 11:36:45 428浏览量 回答数 1

1

回答

阿里短信服务的短信模板更换问题

2018-10-26 09:34:41 1772浏览量 回答数 1

3

回答

oss服务问题

2014-12-24 13:57:33 9762浏览量 回答数 3

3

回答

oss服务问题

2014-12-24 10:15:53 5148浏览量 回答数 3

1

回答

Ftp4oss——成熟、稳定的阿里云OSS的FTP服务(第111号作品)

2013-08-31 08:22:43 8801浏览量 回答数 1
0
文章
1
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载