Я ищу использовать @Transactional в весенней загрузке, но после нескольких попыток я не могу заставить транзакцию работать, несмотря на то, что внутри есть исключение, чтобы откатить, так что я пропускаю что-то?@Transactional не работает весной Boot
AppConfig.java
@EnableAutoConfiguration
@ComponentScan(basePackages = { "com.geopro" })
@EnableJpaRepositories(basePackages = { "com.geopro.repositories" })
@EntityScan(basePackages = { "com.geopro.entities" })
@EnableTransactionManagement
public class AppConfig {
@Bean
public HibernateJpaSessionFactoryBean sessionFactory(EntityManagerFactory emf) {
HibernateJpaSessionFactoryBean factory = new HibernateJpaSessionFactoryBean();
factory.setEntityManagerFactory(emf);
return factory;
}
}
Metier.java
@Service("metier")
@Aspect
public class Metier {
@Transactional(readOnly = false , rollbackFor = Exception.class)
public void saveUpload(UploadData post) throws Exception {
try {
post.ADDEDDATA.savesync();
post.UPDATEDDATA.savesync();
} catch (Exception e) {
throw e ;
}
}
«несмотря на исключение внутри для отката» - конечно, транзакция откатится, если произошло исключение – gknicker
в моем случае это не откат. – geogeek
Не так много, но вы можете поделиться проектом, который демонстрирует проблему. Так как ваша служба 'Metier' не реализует интерфейс, мне интересно, нужен ли вам' @EnableTransactionManagement (proxyTargetClass = true) '? –