私が書くとき
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
