开发者社区> 问答> 正文

关于List<User> users = adminDao.queryAll()?报错

关于List users = adminDao.queryAll()的空指针问题? 400 报错

我一调用这代码List<User> users = adminDao.queryAll();就出现空指针问题,错误代码如下

java.lang.NullPointerException
 at com.xinghua.property.servlet.AdminHandler.panduanroom(AdminHandler.java:378)
 at com.xinghua.property.servlet.ControllerServlet.doPost(ControllerServlet.java:66)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:643)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)

adminDAO.queryAll()如下

public List<User> queryAll() {
  try {
   session.beginTransaction();//问题:是不是每次都要开启事物呢?上面的那个只是commit()但是也没有关闭啊,是不是还在开着?
   Query query = session.createQuery("from User");
   List<User> users = query.list(); 

   session.getTransaction().commit();
   return users;
  } catch (RuntimeException e) {
   e.printStackTrace();
  }
  return null;
 }

 

求问哪里出错了

 

展开
收起
优选2 2020-06-04 21:18:17 965 0
1 条回答
写回答
取消 提交回答
  • 看着异常栈...是你的adminDao为null吧

    ######异常栈怎么看,daminDao是null?######

    遇到exception,多多debug,断点到你这行代码的时候,看看堆栈就知道谁是null了

    ######

    adminDao()写的什么?

    ######上面有写的呀,就是public List<User> queryAll(){}里面的东西######

    1. 我和一楼看看法一样,多半你的adminDao没有实例化(如果是依赖注入,可能没有注入成功)

    2.如果你自己由factory生成一个session的话是需要关闭,否者其他都是会自动关闭。

    ######

    引用来自“lagel”的评论

    1. 我和一楼看看法一样,多半你的adminDao没有实例化(如果是依赖注入,可能没有注入成功)

    2.如果你自己由factory生成一个session的话是需要关闭,否者其他都是会自动关闭。

    对的

    2020-06-05 11:51:44
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Customer Success Dashboard GoD 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载