首页 > 代码库 > Spring JPA Junit 关闭自动回滚

Spring JPA Junit 关闭自动回滚

因为用了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());
        }
    }

 

这样才能在数据库里面看到结果,自学踩的坑不是一般的多啊。

Spring JPA Junit 关闭自动回滚