-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 6 posts ] 
Author Message
 Post subject: retour de type en HQL
PostPosted: Wed Jun 29, 2005 6:06 am 
Regular
Regular

Joined: Mon Apr 25, 2005 5:36 am
Posts: 103
salut

voilà ma requête :

String query = select * from Ressource R, Externe E where R.Id = E.Id AND R.ACTIF='1'

List list = sess.createQuery(query)
.list();

Cela me retourne une collection, oui mais de quel type?


Ressource , non !
Externe, non plus !!

merci de votre aide !!!


Top
 Profile  
 
 Post subject: Re: retour de type en HQL
PostPosted: Wed Jun 29, 2005 1:00 pm 
Newbie

Joined: Wed Dec 15, 2004 10:23 am
Posts: 10
julientarrago wrote:
salut

voilà ma requête :

String query = select * from Ressource R, Externe E where R.Id = E.Id AND R.ACTIF='1'

List list = sess.createQuery(query)
.list();

Cela me retourne une collection, oui mais de quel type?


Ressource , non !
Externe, non plus !!

merci de votre aide !!!


Une liste de tableau de deux objets (Ressource et Externe)

tu peux faire :
Ressource myR = (Ressource )(((Object[])list.get(0))[0]);
Externe myE = (Externe )(((Object[])list.get(0))[1]);

Jer.


Top
 Profile  
 
 Post subject:
PostPosted: Thu Jul 21, 2005 4:16 am 
Regular
Regular

Joined: Sat May 15, 2004 4:27 am
Posts: 79
Salut julientarrago,

le 'SELECT *' te retourne une collection d'objets que tu manipules de la
même manière qu'un tableau simple :

>String query = select * from Ressource R, Externe E where R.Id = E.Id AND >R.ACTIF='1'
>
>List list = sess.createQuery(query)
>.list();

if (list.size() > 0) {
Iterator iterFetch = list.iterator();
while (iterFetch.hasNext()) {
Object[] tupleCourant = (Object[]) iterFetch.next();
Ressource r = (Ressource) tupleCourant[0];
Externe e = (Externe) tupleCourant[1];

// ici un traitement
}

PS à ta place je ferai

FROM Ressource R, Externe E
WHERE R = E.Id (ou R.Id = E, tout dépend de la relation que tu as)
AND R.ACTIF='1'


Top
 Profile  
 
 Post subject:
PostPosted: Thu Jul 21, 2005 4:31 am 
Regular
Regular

Joined: Mon Apr 25, 2005 5:36 am
Posts: 103
salut

merci de ton aide , j'avais déjà changé la requête comme tu me l'as conseillé

est-ce que tu pourrais jeter un coup d'oeil sur un post que j'ai laissé qui concerne left join fetch parce que là je galère grave.

merci


Top
 Profile  
 
 Post subject:
PostPosted: Mon Jul 25, 2005 2:51 pm 
Regular
Regular

Joined: Sat May 15, 2004 4:27 am
Posts: 79
Mets moi le lien vers le post... Est-ce le post sur le fetch ?


Top
 Profile  
 
 Post subject:
PostPosted: Tue Jul 26, 2005 4:59 am 
Regular
Regular

Joined: Mon Apr 25, 2005 5:36 am
Posts: 103
smayemba wrote:
Mets moi le lien vers le post... Est-ce le post sur le fetch ?




le titre du post est : "pb avec fetch"


On m'a donné une solution qui es de mettre une hashmap et maintenant cela marche.


maintenant j'ai un autre problème :

je voudrais faire ceci :

from Utilisateur U1 " +
" left join U1.SetOfRessourceModif " +
" left join U1.SetOfRessourceCreation " +
" left join U1.SetOfDepartementCreation " +
" left join U1.SetOfDepartementModif " +
" left join U1.SetOfProjetModif " +
" left join U1.SetOfProjetCreation " +
" order by Nom";


ceci ne marche pas, voici mes erreurs :


org.hibernate.exception.GenericJDBCException: could not execute query
at org.hibernate.exception.ErrorCodeConverter.handledNonSpecificException(ErrorCodeConverter.java:92)
at org.hibernate.exception.ErrorCodeConverter.convert(ErrorCodeConverter.java:80)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.loader.Loader.doList(Loader.java:1518)
at org.hibernate.loader.Loader.list(Loader.java:1498)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:369)
at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:268)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:788)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:74)
at fr.icdc.dei.fwk.sample.persistance.service.impl.UtilisateurDAOImpl.findAllUtilisateur(UtilisateurDAOImpl.java:161)
at fr.icdc.dei.fwk.start.Test.Donnees_Utilisateur(Test.java:78)
at fr.icdc.dei.fwk.start.Test.main(Test.java:328)
Caused by: java.sql.SQLException: ORA-00918: Définition de colonne ambigu

at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:168)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:208)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:543)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1405)
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteDescribe(TTC7Protocol.java:643)
at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:1674)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1870)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:363)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:314)
at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:118)
at org.hibernate.loader.Loader.getResultSet(Loader.java:1197)
at org.hibernate.loader.Loader.doQuery(Loader.java:366)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:206)
at org.hibernate.loader.Loader.doList(Loader.java:1515)
... 8 more
Exception in thread "main"



En fait ma table utilisateur est relié à trois tables (Projet, Ressource et Departement) et pour chaque je connais l'utilisateur qui l'a crée et qui l'a modifiée.
Que faut(il faire.

merci


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 6 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.