此时我很困惑。我有一个使用我的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?注意:这不是我的完整查询,我的完整查询正在运行并包含两个参数。
我打印了begin
和end
,他们都给了我预期的结果。堆栈跟踪将我从控制器的第二行引导到创建查询行。
答案 0 :(得分:1)
我觉得我需要更多信息,但试图给你一些线索:
我希望这些问题可以提供帮助。