Spring Data JPA加MySql通过@Transactional实现事务处理的两个关键点

1.Mysql存储引擎需要设置为InnoDB

Mysql支持多种存储引擎,默认引擎为MyISAM,该引擎不支持事务机制,所以需要将存储引擎设置为InnoDB。有两种方法可以实现该设置:

(1)通过MySql的配置文件或数据库命令,具体可参考Mysql文档;

(2)通过Spirng data JPA配置,将MySql的dialect指定为InnoDB:

spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect

2.为@Transactional注解指定回滚的异常,如rallbackFor=Exception.class,且注解的方法应抛出相应异常,如:

@Transactional(rollbackFor = Exception.class)
public void testTranc() throws Exception{
....
}

你可能感兴趣的:(Spring Data JPA加MySql通过@Transactional实现事务处理的两个关键点)