IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Hibernate Java Discussion :

[HQL] jointure implicite dans un sous-select


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Avatar de Manopower
    Inscrit en
    Décembre 2003
    Messages
    516
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 516
    Par défaut [HQL] jointure implicite dans un sous-select
    Bonjour,
    je viens vers vous pour un problème de requête HQL qui ne veut pas fonctionner.

    Le problème est le suivant :

    l'objet FICHE contient un set de ActionsDeResolutionDesFiche qui lui meme contient une Action.

    Je veux réaliser une requête qui me renvoie 3 choses :

    - La fiche répondant à tout un tas de critère : ça c'est fait
    - Le nombre d'actions associées à cette fiche : ça c'est fait
    - Le nombre d'actions ouvertes associées à cette fiche : ça j'y arrive pas

    voici mon code actuel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    select f, f.actionDeResolutionDesFicheEDs.size as actions, 
    (select f.actionDeResolutionDesFicheEDs.size as actionsEnCours  
    from f join f.actionDeResolutionDesFicheEDs actionResolution where actionResolution.action.datefermeture is null)
    from FicheED f join fetch f.utilisateurED join fetch 
    f.evenementED join fetch f.bureauED //+critères..
    le mapping semble correct (j'utilise la console HQL pour tester mes requêtes)
    mais j'arrive à l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    org.hibernate.exception.SQLGrammarException: could not execute query
    (...)
    Caused by: java.sql.SQLException: ORA-00904: "ACTIONED7_"."DATFERMETURE" : identificateur non valide
     
    	at oracle.jdbc.driver.DatabaseError.throwSqlException(Unknown Source)
    	at oracle.jdbc.driver.T4CTTIoer.processError(Unknown Source)
    	at oracle.jdbc.driver.T4CTTIoer.processError(Unknown Source)
    	at oracle.jdbc.driver.T4C8Oall.receive(Unknown Source)
    	at oracle.jdbc.driver.T4CPreparedStatement.doOall8(Unknown Source)
    	at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(Unknown Source)
    	at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(Unknown Source)
    	at oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(Unknown Source)
    	at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(Unknown Source)
    	at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(Unknown Source)
    	at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(Unknown Source)
    	at org.hibernate.jdbc.AbstractBatcher.getResultSet(Unknown Source)
    	at org.hibernate.loader.Loader.getResultSet(Unknown Source)
    	at org.hibernate.loader.Loader.doQuery(Unknown Source)
    	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Unknown Source)
    	... 68 more
    Auriez vous une idée sur la façon de réaliser cette requête s'il vous plait ?

    Merci d'avance !

  2. #2
    Membre chevronné
    Avatar de Manopower
    Inscrit en
    Décembre 2003
    Messages
    516
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 516
    Par défaut
    J'ai fait un dernier essai en desespoir de cause et ... ça a marché !



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    select f.id,f,f.actionDeResolutionDesFicheEDs.size as totalActions, (
    select count(*)  
    from ActionED a 
    left join a.actionDeResolutionDesFicheEDs as resol 
    where resol.actionED.datfermeture is null and resol.ficheED.idfiche = f.id)
    as actionsEnCours from FicheED f

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. WITH dans un sous select
    Par phili_b dans le forum Développement
    Réponses: 10
    Dernier message: 17/02/2010, 16h38
  2. MSSQL2K: concatenation recursive dans un sous select
    Par mikaeru dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 30/01/2008, 11h00
  3. [C#][.net2] Sous select et jointure ne passe pas
    Par VincenzoR dans le forum Windows Forms
    Réponses: 25
    Dernier message: 19/01/2006, 11h48
  4. Sous-requête dans la clause Select
    Par Danger dans le forum WinDev
    Réponses: 2
    Dernier message: 24/05/2005, 17h33
  5. [firebird] sous select dans un select
    Par gdido dans le forum SQL
    Réponses: 2
    Dernier message: 14/05/2004, 09h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo