Ciao a tutti,
sto lavorando all'hibernizzazione di alcune query ma sono bloccato su una query in particolare:
codice:
SELECT
P.COD_PARAMETRO,
P.VAL_PARAMETRO,
PU.COD_UTENTE,
PU.VIEW_ORDER
FROM
BATCH_TIPI_PARAMETRO AS T
LEFT JOIN BATCH_PARAMETRI AS P ON T.COD_TIPO_PARAMETRO = P.COD_TIPO_PARAMETRO
LEFT JOIN BATCH_PREFERITI_UTENTE AS PU ON P.COD_PARAMETRO = PU.COD_SETTORIALE
WHERE P.COD_TIPO_PARAMETRO_PADRE = '-'
AND P.COD_TIPO_PARAMETRO = 'SETTORIALE'
AND PU.COD_UTENTE = ?
In HQL ho scritto la seguente query:
codice:
String sql =
"SELECT" +
" parametri.id.codParametro, " +
" parametri.valParametro, " +
" preferiti.id.codUtente, " +
" preferiti.viewOrder " +
"FROM" +
" BatchTipiParametro as tipi " +
" LEFT JOIN tipi.id.codTipoParametro as parametri" +
" LEFT JOIN parametri.id.codParametro as preferiti " +
"WHERE" +
" parametri.id.codTipoParametro_padre = '-' " +
" AND parametri.id.codTipoParametro = 'SETTORIALE' " +
" AND preferiti.id.codUtente = ?";
Query che poi eseguo con
codice:
Query query = getHibernateTemplate().getSessionFactory().openSession().createQuery(sql);
q.setParameter(0, codUtente);
q.list();
Quando faccio partire però ottengo la seguente eccezione:
codice:
java.lang.NullPointerException
at org.hibernate.hql.ast.HqlSqlWalker.createFromJoinElement(HqlSqlWalker.java:396)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.joinElement(HqlSqlBaseWalker.java:3671)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.fromElement(HqlSqlBaseWalker.java:3452)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.fromElementList(HqlSqlBaseWalker.java:3325)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.fromClause(HqlSqlBaseWalker.java:733)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:584)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:301)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:244)
at org.hibernate.hql.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:256)
at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:187)
at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:138)
at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:101)
at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:80)
at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:124)
at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:156)
...
Qualche idea? Cosa mi sfugge?
Grazie 
ps: le varie mappature e annotazioni sono già fatte (non da me) e sono corrette visto che altre query vanno senza problemi...