使用JPA配合Hibernate ,采用注解默认是开启了LayzLoad也就是懒加载,所以不得不在Junit的单元测试上加上@Transactional注解,这样Spring会自动为当前线程开启Session,这样在单元测试里面懒加载才不会因为访问完Repository之后,出现session not found.
但是单元测试里面如果加上了@Transactional 会自动回滚事务,需要在单元测试上面加上@Rollback(false),这样才能插入数据库
@Test
@Transactional
@Rollback(false) //关闭自动回滚
public void saveTest() {
ProductCategory category = new ProductCategory();
category.setCategoryname("快乐");
category.setCategorytype(6);
ProductCategor