重回编码之后遇到的第一个问题,rollback
@Test
@Transactional
@Rollback(false)
public void job(){
LocalDate now = LocalDate.now();
int year = now.getYear();
// 获取今年之前所有没冻结的用户
List<User> users = repository.findAllUsersByFrozenYear(year);
System.out.println(users.size());
year = year+1;
// 在userannualtask中生成新的数据
for (User u:users) {
UserAnnualTask t = task.save(new UserAnnualTask(u,year));
}
}
这里一直发现新生成的对象无法保存,最后才发现是@Rollback的问题。
junit 单元测试事务会自动回滚。通过@Rollback(true)注解来实现,默认是true,事务会回滚,可以不写。false时事务不会回滚,数据会写到数据库中。

浙公网安备 33010602011771号