Mur*_*lli 4 java spring spring-boot
我对Spring Boot 2.0.0有问题。当我抛出RuntimeException时,它不会回滚事务。我正在使用具有相同设置的Spring Boot 1.5.9,它可以正常工作。它只是迁移到Spring Boot 2并停止工作。
我的配置类:
@Configuration
@EnableJpaRepositories(basePackages = "com.test.repository")
@EnableTransactionManagement
public class DatabaseConfiguration {
public static final String MODEL_PACKAGE = "com.test.model";
@Value("${jdbc.url}")
private String url;
@Value("${jdbc.username}")
private String username;
@Value("${jdbc.password}")
private String password;
@Bean
public DataSource dataSource() throws SQLException {
org.apache.tomcat.jdbc.pool.DataSource dataSource = new org.apache.tomcat.jdbc.pool.DataSource();
dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver");
dataSource.setUrl(this.url);
dataSource.setUsername(this.username);
dataSource.setPassword(this.password);
return dataSource;
}
@Bean
public PlatformTransactionManager transactionManager(DataSource dataSource) {
return new DataSourceTransactionManager(dataSource);
}
}
Run Code Online (Sandbox Code Playgroud)
我的商务舱:
@Service
public class TestBusinessImpl implements TestBusiness {
@Override
@Transactional
public void save(final Test test) {
this.testRepository.save(test);
throw new RuntimeException("Test rollback");
}
}
Run Code Online (Sandbox Code Playgroud)
有人知道会发生什么吗?
use*_*698 10
您正在使用哪种方言?您必须指定spring.jpa.properties.hibernate.dialect
org.hibernate.dialect.MySQL5Dialect不支持Springboot 2.0 @Transaction
而是使用org.hibernate.dialect.MySQL5InnoDBDialect
| 归档时间: |
|
| 查看次数: |
1739 次 |
| 最近记录: |