私が書くとき
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();
2行目に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 があるのはなぜですか?
SEVERE: サーブレット [appServlet] の Servlet.service() がパス [/ui] のコンテキストで例外をスローしました [リクエストの処理に失敗しました。ネストされた例外は java.lang.NullPointerException] であり、根本原因は org.hibernate.dialect.function.SQLFunctionRegistry.findSQLFunction(SQLFunctionRegistry.java:41) で java.lang.NullPointerException