springboot集成seata1.4.0版本时提示NotSupportYetException,原来须设置主键自增

seata 1.4.0版本

springboot 2.1.7版本

在集成seata时添加上 @GlobalTransactional或@Transactional注解后报错 NotSupportYetException 异常

检查发现操作的第二张表 user_little没有自增主键。(第一张操作表有自增主键)就会报错,添加上自增主键之后就不报错了。

 

 

另外在程序里添加上:@GlobalTransactional或@Transactional效果是一样都能控制事务回滚。只是作为范围不一样!

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Spring Boot中集成Seata,需要进行以下步骤: 1.添加Seata的依赖。在pom.xml文件中添加以下依赖: ```xml <dependency> <groupId>io.seata</groupId> <artifactId>seata-spring-boot-starter</artifactId> <version>${seata.version}</version> </dependency> ``` 2.配置Seata。在application.properties或application.yml文件中添加以下配置: ```yaml spring: application: name: ${spring.application.name} cloud: alibaba: seata: tx-service-group: ${spring.application.name}-fescar-service-group seata: enabled: true application-id: ${spring.application.name} tx-service-group: ${spring.application.name}-fescar-service-group config: type: nacos nacos: serverAddr: ${nacos.server-addr:localhost:8848} namespace: ${nacos.namespace:public} registry: type: nacos nacos: serverAddr: ${nacos.server-addr:localhost:8848} namespace: ${nacos.namespace:public} service: vgroupMapping: ${spring.application.name}-fescar-service-group: default groupMapping: ${spring.application.name}-fescar-service-group: "default" transport: type: TCP tcp: selector: ${seata.selector:org.apache.seata.core.rpc.netty.NettyClientConfig} clientWorkerThreads: ${seata.client.worker.thread.size:NettyRuntime.availableProcessors()} bossThreadSize: ${seata.boss.thread.size:1} shutdownWait: ${seata.shutdown.wait:3} maxConnection: ${seata.max.commit.retry.timeout:1} connectionWaitTimeout: ${seata.max.commit.retry.timeout:5000} idleTimeout: ${seata.max.commit.retry.timeout:300000} heartbeatTimeout: ${seata.heartbeat.timeout:1000} ``` 3.配置数据源。在application.properties或application.yml文件中添加以下配置: ```yaml spring: datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/seata?useUnicode=true&characterEncoding=utf-8&useSSL=false username: root password: root ``` 4.配置MyBatis。在MyBatis的配置文件中添加以下配置: ```xml <configuration> <settings> <setting name="mapUnderscoreToCamelCase" value="true"/> </settings> <typeAliases> <package name="com.xxx.xxx.entity"/> </typeAliases> <plugins> <plugin interceptor="io.seata.rm.datasource.mybatis.SeataInterceptor"/> </plugins> </configuration> ``` 5.启动Seata Server。在Seata Server的bin目录下执行以下命令: ```shell sh seata-server.sh -p 8091 -m file ``` 6.启动应用程序。在Spring Boot应用程序的启动类上添加@SeataApplication注解。 ```java @SpringBootApplication @SeataApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值