我在Spring Boot和JPA中使用@Transactional。但这是行不通的。有人可以帮忙吗?

我的插入内容位于myDAO中,该类在服务类中自动接线。下面的代码是实现服务接口的服务类方法

class MyService implements Service {

@Transactional(rollbackFor = RuntimeException.class)
    public ResponseVO createOrder(params) {
    myDAO.insertInTable1(param);
    myDAO.insertInTable2(param);//I kept wrong table name in this query such that it throws exception
         }

 }

最佳答案

问题出在MySQL数据库引擎上。我的引擎是MYIsam,它不支持事务。我将数据库引擎更改为InnoDB及其工作方式。感谢您的贡献。以下是相同的查询。

选择引擎
从information_schema.TABLES
哪里
  TABLE_NAME ='tabel_name'
  AND TABLE_SCHEMA ='db_name';

ALTER TABLE table_name ENGINE = INNODB;

10-07 16:26