【发布时间】:2013-08-09 14:50:36
【问题描述】:
当我写作时
Session session = sessionFactory.getCurrentSession();
List<Candidate> candidates = (List<Candidate>) session.createQuery(
"select Candidate from Candidate as candidate left outer join"
+ " candidate.skills as skill where skill.id =" + 1).list();
我在第二行有 npe
如果我写
Session session = sessionFactory.getCurrentSession();
List<Candidate> candidates = (List<Candidate>) session.createSQLQuery(
"select candidate.* from candidate inner join candidate_skill"
+ " on candidate.id = candidate_skill.candidate_id"
+ " inner join skill on candidate_skill.skill_id = skill.id"
+ " where skill.id = 1").list();
我的成绩很好
为什么我在第一个例子中有 NPE?
严重:servlet [appServlet] 的 Servlet.service() 在路径 [/ui] 的上下文中抛出异常 [请求处理失败;嵌套异常是 java.lang.NullPointerException] 的根本原因 java.lang.NullPointerException 在 org.hibernate.dialect.function.SQLFunctionRegistry.findSQLFunction(SQLFunctionRegistry.java:41)
【问题讨论】:
-
在查询窗口中运行第一个查询时会发生什么?
-
然后我得到候选+技能对象。我想要一个候选对象