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());
        }
    }

 

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

posted on 2016-11-13 15:36  winters86  阅读(982)  评论(2编辑  收藏  举报