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

Java EE Discussion :

[EJB3] [Junit] Récupération des résultats d'un select [EJBQL]


Sujet :

Java EE

  1. #1
    Nouveau membre du Club
    Inscrit en
    Décembre 2005
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 29
    Points : 26
    Points
    26
    Par défaut [EJB3] [Junit] Récupération des résultats d'un select
    Bonjour,

    Après des recherches infructueuses sur le net et des essais de toutes sortes, je n'arrive pas à résoudre mon problème. L'un de vous peut peut-être m'aider. Voilà mon problème :

    Dans mon EJB Session, j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    public Collection selectMultipleSmtp(int i){
    	EntityManager em = emf.createEntityManager();
    	Collection col = (Collection)em.createQuery("from Smtp s where s.smtp_direct=:valeur")
    		.setParameter("valeur", i)
    		.getResultList();
    	em.close();
    	return col;
    }
    Dans mon test unitaire, j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    public void testSelectMultipleSmtp() throws RemoteException, NamingException{
    	StatsFacade remote = getContext();
    	int i = 1;
    	List col = (List)remote.selectMultipleSmtp(i);
    	assertNotNull(col);
    	for (Iterator it = col.iterator(); it.hasNext();){
    		Smtp smtp = (Smtp)it.next();
    	assertEquals(smtp.getSmtp_dn(), "smtp_dn");
    	}
    }
    Et j'ai tout le temps une erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Caused by: java.rmi.MarshalException: Failed to communicate.  Problem during marshalling/unmarshalling; nested exception is: 
    	java.io.EOFException
    que je comprends pas

    Quelqu'un peut m'aider?

  2. #2
    Nouveau membre du Club
    Inscrit en
    Décembre 2005
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 29
    Points : 26
    Points
    26
    Par défaut
    J'ai réussi
    Pour ceux que ça pourrait intéresser, j'ai plutôt utilisé un HashMap comme type de retour.

    Et après le createQuery, j'ai mis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Collection col = q.getResultList();
    Object[] o = col.toArray();
    for (int i = 0; i < o.length; i++) {
    	Object[] a = (Object[]) o[i];
    	resultats.put((Integer) a[0], (String) a[1]);
    }
    et je retourne "resultats" qui est la HashMap en question.
    Voilà

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

Discussions similaires

  1. Nommage des résultats d'un select
    Par Ze_Pepino dans le forum Requêtes
    Réponses: 1
    Dernier message: 21/07/2008, 17h55
  2. Récupération des données liées à un Select
    Par lbrun79 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 14/11/2007, 19h59
  3. Réponses: 2
    Dernier message: 21/05/2006, 14h02
  4. Réponses: 2
    Dernier message: 29/03/2006, 09h38
  5. [SQL SERVER 2000]Récupération du résultat d'un select.
    Par gwadakillah dans le forum Langage SQL
    Réponses: 5
    Dernier message: 24/01/2006, 13h35

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