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 :

Problème de requete imbriquée avec hibernate


Sujet :

Hibernate Java

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 298
    Par défaut Problème de requete imbriquée avec hibernate
    Bonjour ,
    j'essaie decrire la requete suivante avec hibernate 3
    mais ça passe pas:
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
     
    	/**
             * method used to get the merchant services not already using service templates with the given Message Template code 
             * @param session
             * @param code (the Message Template code)
             * @throws DAOException
             * @return MerchantService collection
             */
    	public static Collection findNotAssociatedMerchantServicesFromCode (Session session,String code)throws DAOException {
    		Collection results = null;
    		Transaction tx = null;
    		Query query = null;
    		StringBuffer str = null;
    		try {
    			if(logger.isDebugEnabled())
    				logger.debug("findNotAssociatedMerchantServicesFromCode : start le code de la template: " + code);
    //			str = new StringBuffer();
    //			str.append("SELECT tpa.profile FROM TemplateProfileAssociation tpa");
    //			str.append("WHERE parentTemplate.code="+code);
    			if(logger.isDebugEnabled())
    				logger.debug("ecrire la requete");
    			str = new StringBuffer();
    			str.append("SELECT  ms FROM MerchantService ms");
    			str.append("WHERE ms.merchant.profile IN (");
    			str.append("SELECT profile FROM TemplateProfileAssociation tpa ");
    			str.append("WHERE tpa.parentTemplate.code="+code+")");
     
    //			str.append("SELECT MsgTemplate tmpl FROM TemplateProfileAssociation");
    //			str.append(" WHERE profile.name=t.merchantService.merchant.profile.name)");
    			//session
    		    tx = session.beginTransaction();
    			if(logger.isDebugEnabled())
    				logger.debug("transaction");
    			query = session.createQuery(str.toString());			
    			query.setCacheable(true);
    			if(logger.isDebugEnabled())
    				logger.debug("je récupère le résultat");
     
                results = query.list();
     
                if(logger.isDebugEnabled())
    				logger.debug("je commite");
    			tx.commit();
     
    			return results;
     
    		} catch(Exception e) {
    			tx.rollback();
    			throw new DAOException(e);
    		} finally {
    			if(logger.isDebugEnabled())
    				logger.debug("findNotAssociatedMerchantServicesFromCode : results=" + results.toString());
    		}
     
    	}
    }
    j'attend votre réponse
    Thanks a lot

  2. #2
    Membre Expert Avatar de maxf1
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 229
    Par défaut
    Ta requete fonctionne-t-elle sans hibernate en allant directement sur la base?

    L'erreur retournée est ??

  3. #3
    Invité
    Invité(e)
    Par défaut
    En effet avec la trace de l'exception ça aide.

    Mais je me permet de soulever une remarque. Dans la sous requête on a :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT profile FROM TemplateProfileAssociation tpa
    Je me demande comment profile est déterminé par Hibernate.
    Ce ne serait pas plutot un truc du style :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT tpa.profile FROM TemplateProfileAssociation tpa

Discussions similaires

  1. Problème requete SQL avec hibernate
    Par kakahn dans le forum Hibernate
    Réponses: 4
    Dernier message: 13/01/2008, 12h08
  2. Creer une requete imbriquée avec parametres
    Par ramazan dans le forum Développement
    Réponses: 2
    Dernier message: 03/01/2008, 11h30
  3. Réponses: 2
    Dernier message: 29/01/2007, 15h13
  4. Problème de lancement Servlet avec Hibernate
    Par jamy79 dans le forum Hibernate
    Réponses: 2
    Dernier message: 24/11/2006, 11h55
  5. [Access] requete imbriqué avec last
    Par ahcorad dans le forum Langage SQL
    Réponses: 2
    Dernier message: 27/07/2006, 15h32

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