Spring Boot创建MySQL表遇JTA平台缺失错误,如何配置JTA平台?
解决JTA平台缺失的错误问题
问题分析
你遇到的错误是因为Hibernate尝试自动检测JTA事务平台,但你的Spring Boot应用使用普通JDBC数据源,未配置JTA环境,导致无法找到可用的JTA平台。同时,配置文件中存在一处拼写错误,可能加剧相关问题。
修复步骤
修正配置拼写错误
将配置中的spring.jsp.show-sql=true修改为spring.jpa.show-sql=true,这是启用JPA SQL日志输出的正确配置项。禁用JTA平台(推荐方案)
在配置文件中添加以下内容,明确告知Hibernate不使用JTA事务平台:spring.jpa.properties.hibernate.transaction.jta.platform=org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform
完整修正后的配置示例
spring.application.name=demo spring.datasource.platform=mysql spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/sys spring.datasource.username=root spring.datasource.password=Reading@1234 spring.jpa.hibernate.ddl-auto=update spring.jpa.show-sql=true spring.jpa.properties.hibernate.transaction.jta.platform=org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform
补充说明
如果你的应用确实需要JTA事务(通常用于分布式事务场景),则需要引入JTA提供商依赖(如Atomikos、Bitronix)并配置对应的平台类,但对于单数据源的MySQL应用,上述禁用JTA的方案已足够解决问题。
内容的提问来源于stack exchange,提问作者sree1985
相关产品推荐
相关产品推荐

