【发布时间】:2014-11-21 15:09:42
【问题描述】:
我需要在一个事务中在我的服务中保存更多实体 - 如果一个保存失败,则不应保存任何内容。我尝试使用@Transactional,但它不起作用,或者我不知道如何使用它:) 保存正确的记录,不保存错误的记录,我都不需要保存。我怎样才能做到这一点?
我的代码:
public interface MyRecordRepository extends JpaRepository<Record, Long>,
QueryDslPredicateExecutor<Record> {
}
@Service
public class MyPersisterServiceImpl implements MyPersisterService {...
@Autowired
private MyRepository myRepository;
@Override
@Transactional(rollbackFor = Exception.class)
public void saveRecords(List<Record> recordList) {
for(Record r : recordList){
myRepository.save(record);
}
}
...
@EnableTransactionManagement(mode = AdviceMode.ASPECTJ)
... // other annotations
public class Application extends SpringBootServletInitializer {
...
我的环境:带有 Spring 数据的 Spring 4.0.7、querydsl、hibernate、apache tomcat 8、java 8。
谢谢
【问题讨论】:
标签: transactions spring-data rollback