本机查询导致空指针异常

时间:2014-05-06 17:07:11

标签: java sql nullpointerexception

此时我很困惑。我有一个使用我的DAO运行查询的控制器,但它给了我一个空指针异常。我一直在解决错误后的错误,但似乎无法找到它们的根。

控制器:

DAO d = new DAO();
List<objects> foo = d.callQuery(new object());

DAO:

        Calendar cal = new GregorianCalendar();
    cal.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DAY_OF_MONTH), 0, 0, 0);

    Date begin = new Date(cal.getTimeInMillis());
    Date end = new Date(cal.getTimeInMillis());

    String theQuery = "SELECT * from table1";
    Query query = em.createNativeQuery(theQuery).setParameter("begin", begin).setParameter("end", end);

错误导致我走到这一行:Query query = em.createNativeQuery(theQuery).setParameter("begin", begin).setParameter("end", end);

什么可能是null?注意:这不是我的完整查询,我的完整查询正在运行并包含两个参数。

我打印了beginend,他们都给了我预期的结果。堆栈跟踪将我从控制器的第二行引导到创建查询行。

1 个答案:

答案 0 :(得分:1)

我觉得我需要更多信息,但试图给你一些线索:

  • 你如何获得em对象?也许em是空的......
  • 您正在使用的查询是“SELECT * from table1”?我问它是因为你正在为没有参数的查询设置参数。

我希望这些问题可以提供帮助。