Mysql数据库表类型不支持事务解决办法

在项目开发过程中,使用了Spring data jpa自动创建表。但是默认情况下,创建出来的表类型为MyISAM。

(MySQL数据库默认的存储引擎类型是MyISAM,这种存储引擎类型不支持事务处理。)

导致在项目测试中发现异常后,事务无回滚动作。

解决办法:

1. 在Spring data jpa中的配置中添加database-platform: org.hibernate.dialect.MySQL5InnoDBDialect

jpa:
    database: MYSQL
    hibernate:
      ddl-auto: update
    show-sql: true
    database-platform: org.hibernate.dialect.MySQL5InnoDBDialect

2.在navicat中数据库---》表---》单机表名在下边可以出现表类型。当为其他非InnoDB类型时就需要修改。如果涉及表很多且已经有大量数据。批量修改办法就是将表数据导出SQL,然后删除数据库后重新创建,把第一步的配置改后,重启项目,让项目在新建的数据库上去重新创建表,然后再导入数据。

Mysql数据库表类型不支持事务解决办法_第1张图片

你可能感兴趣的:(mysql)