Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802

    [Hibernate] Problema LEFT JOIN

    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...
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    scusa la domanda (forse stupida) ma la query sei sicuro sia corretta? Te la sei stampato a video dopo averla costruita e l'hai eseguita?

    La prima che hai scritto (da quel che ho capito) è quella che vorresti eseguire, poi come la costruisci e poi esegui, giusto?
    RTFM Read That F*** Manual!!!

  3. #3
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da valia
    scusa la domanda (forse stupida) ma la query sei sicuro sia corretta? Te la sei stampato a video dopo averla costruita e l'hai eseguita?

    La prima che hai scritto (da quel che ho capito) è quella che vorresti eseguire, poi come la costruisci e poi esegui, giusto?
    La prima è la query SQL che il programma utilizza attualmente e che deve essere Hibernizzata. La seconda è la stessa query (spero XD) che ho riscritto usando la sintassi di Hibernate
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    Originariamente inviato da Alex'87
    La prima è la query SQL che il programma utilizza attualmente e che deve essere Hibernizzata. La seconda è la stessa query (spero XD) che ho riscritto usando la sintassi di Hibernate
    Ok allora riesci a loggare la query che hai costruito?
    quando ho problemi con le query mi faccio loggare (a video, su file) quello che il mio programma costruisce e magari da lì capisco cosa non va. O ci vai in debug...insomma, cerca di capire cosa realmente vedi in sql quando esegui

    Può essere banale, ma a volte quando sei preso le banalità le escludi a priori
    RTFM Read That F*** Manual!!!

  5. #5
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da valia
    Ok allora riesci a loggare la query che hai costruito?
    quando ho problemi con le query mi faccio loggare (a video, su file) quello che il mio programma costruisce e magari da lì capisco cosa non va. O ci vai in debug...insomma, cerca di capire cosa realmente vedi in sql quando esegui

    Può essere banale, ma a volte quando sei preso le banalità le escludi a priori
    No, non riesco a loggare la query che mi costruisce, l'eccezione viene lanciata durante la creazione. Solo che non mi dice cosa c'è che non va...


    Intanto grazie
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    ok allora falla passo passo (magari usando più stringhe)
    In debug non ci arrivi proprio??
    RTFM Read That F*** Manual!!!

  7. #7
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da valia
    ok allora falla passo passo (magari usando più stringhe)
    In debug non ci arrivi proprio??
    No...
    Sto scaricando via Maven i sorgenti di Hibernate in modo da entrare in debug anche lì, sperando di capire cosa c'è che non va
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    ecco perché oltre non ti so aiutare sorry
    RTFM Read That F*** Manual!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.