因为用了JPA配合Hibernate ,采用注解默认是开启了LayzLoad也就是懒加载,所以不得不在Junit的单元测试上加上@Transactional注解
这样Spring会自动为当前线程开启Session,这样在单元测试里面懒加载才不会因为访问完Repo之后,出现session not found.
但是单元测试里面如果加上了@Transactional 会自动回滚事务,需要在单元测试上面加上
@Rollback(false)
@Test @Transactional @Rollback(false) public void testTagForArticle(){ Article article = articleRepo.getOne(3); for(Tag tag:article.getTags()){ System.out.println(tag.getTagName()); } }
这样才能在数据库里面看到结果,自学踩的坑不是一般的多啊。
时间: 2024-11-05 06:25:48