【发布时间】:2019-04-22 04:25:15
【问题描述】:
我正在使用 Spring Boot 2.1.0 进行项目,我遇到以下情况。
我有以下存储库
@Repository
public interface ActivityRepository extends PagingAndSortingRepository<Activity, Long> {
@Transactional
@Modifying
@Query("") // Imagine a query
void updateBacklogStatusAge();
@Transactional
@Modifying
@Query("QUERY 2") // Imagine a query
void updateNextStatusAge();
@Transactional
@Modifying
@Query("QUERY 3") // Imagine a query
void updateInProgressStatusAge();
}
以及以下组件
@Component
public class ColumnAgeJob {
private final ActivityRepository activityRepository;
public ColumnAgeJob(final ActivityRepository pActivityRepository) {
activityRepository = pActivityRepository;
}
@Transactional
public void update() {
activityRepository.updateBacklogStatusAge();
activityRepository.updateNextStatusAge();
activityRepository.updateInProgressStatusAge();
}
}
现在我想测试事务注释是否有效。
基本上,我的目标是检查 updateInProgressStatusAge() 调用期间引发的 runtimeException 是否会导致 updateNextStatusAge 和 updateBacklogStatusAge 修改回滚。
我该怎么做? 谢谢
【问题讨论】:
标签: spring spring-boot spring-data-jpa spring-data spring-transactions