我在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;