开发者社区> 问答> 正文

我的 spring dbunit junit 测试无法获取hibernate当前session

spring dbunit junit 测试无法获取hibernate当前session,在dao中将getcurrentsession() 改成opensession(),又提示 a proxy with two open Sessions,怎样在测试中让dao中的session存在呢,比如单例什么的。

测试代码很简单:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("/beans.xml")
@TestExecutionListeners({ DependencyInjectionTestExecutionListener.class,
 TransactionalTestExecutionListener.class,
        DbUnitTestExecutionListener.class })
public class testModel   {
  
 @Inject
 private DataSource dataSource;
  
 @Inject
 private IUserDao userDao; <span></span>@Test
public void testupdate(){
    User u = userDao.load(1); 
    userDao.update(u);
    System.out.println(u);
}

Dao中的方法也很简单:

@Override
 public void update(T t) {
 getSession().update(t);
  
 }

展开
收起
爵霸 2016-03-04 14:42:54 2378 0
1 条回答
写回答
取消 提交回答
  • 给sessionFactory注入进去

    @Inject
    private SessionFactory sessionFactory;
    2019-07-17 18:52:17
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧 立即下载
微服务架构模式与原理Spring Cloud开发实战 立即下载
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库 立即下载