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

3.4.3.4

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

调用ChainWrappers#lambdaQueryChain() 做update 的时候,抛出java.lang.NoClassDefFoundError: org/springframework/dao/DataAccessException

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

使用 lambdaUpdate#update 的方式update 报错,但是lambdaQuery 正常

报错信息

java.lang.NoClassDefFoundError: org/springframework/dao/DataAccessException at com.baomidou.mybatisplus.extension.conditions.update.ChainUpdate.update(ChainUpdate.java:45) ~[mybatis-plus-extension-3.4.0.jar:3.4.0] at com.jdp.linkhub.act2hive.jdbc.dal.ActInfoDao.updateTpNumByAct(ActInfoDao.java:68) ~[classes/:?] at com.jdp.linkhub.act2hive.act2hdfs.source.mysql.KafkaMetaSource.lambda$read$1(KafkaMetaSource.java:98) ~[classes/:?] at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) ~[?:1.8.0_275] at java.util.HashMap$ValueSpliterator.forEachRemaining(HashMap.java:1628) ~[?:1.8.0_275] at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482) ~[?:1.8.0_275] at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472) ~[?:1.8.0_275] at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) ~[?:1.8.0_275] at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:1.8.0_275] at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:566) ~[?:1.8.0_275] at com.jdp.linkhub.act2hive.act2hdfs.source.mysql.KafkaMetaSource.read(KafkaMetaSource.java:107) ~[classes/:?] at com.jdp.linkhub.act2hive.source.mysql.MySqlSourceFunction.run(MySqlSourceFunction.java:46) ~[classes/:?] at org.apache.flink.streaming.api.operators.StreamSource.run(StreamSource.java:110) ~[flink-streaming-java_2.11-1.12.1.jar:1.12.1] at org.apache.flink.streaming.api.operators.StreamSource.run(StreamSource.java:66) ~[flink-streaming-java_2.11-1.12.1.jar:1.12.1] at org.apache.flink.streaming.runtime.tasks.SourceStreamTask$LegacySourceFunctionThread.run(SourceStreamTask.java:241) ~[flink-streaming-java_2.11-1.12.1.jar:1.12.1] Caused by: java.lang.ClassNotFoundException: org.springframework.dao.DataAccessException at java.net.URLClassLoader.findClass(URLClassLoader.java:382) ~[?:1.8.0_275] at java.lang.ClassLoader.loadClass(ClassLoader.java:419) ~[?:1.8.0_275] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352) ~[?:1.8.0_275] at java.lang.ClassLoader.loadClass(ClassLoader.java:352) ~[?:1.8.0_275] ... 15 more

Comment From: chachae

@miemieYaho

Comment From: chachae

看了下是SqlHelper 引了Spring 的包导致的,v3.4.0之前的版本这块的代码不需要用到TransactionSynchronizationManager,通用工具类跟Spring 强绑定这块是否不太合理呢~ @qmdx @miemieYaho