重回编码之后遇到的第一个问题,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时事务不会回滚,数据会写到数据库中。

原文地址:https://www.cnblogs.com/weilq/p/8795399.html