Jpa/requete sql

jadoud Messages postés 19 Date d'inscription mercredi 9 décembre 2009 Statut Membre Dernière intervention 23 mars 2011 - 3 mars 2010 à 00:09
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 4 mars 2010 à 07:29
slt,je travaille sur un projet jpa avec une base de donnee mysql bon la connections entre java et la base est faite mais je suis besoin de savoir comment reçois le résultat de la requete par exemple :
exp1
public absonnce elem (int nci,int mat,int sem)
{
EntityManagerFactory emf = Persistence.createEntityManagerFactory("pfa");

EntityManager em = emf.createEntityManager();
Query query = em.createQuery("select a from absonnce a where a.nci_etud="+nci+"and a.code_mat="+mat+"and a.sem= "+sem);
em.close();

emf.close();
return (ab);
}
exp2
public absonnce elem (int nci,int mat,int sem)
{
EntityManagerFactory emf = Persistence.createEntityManagerFactory("pfa");

EntityManager em = emf.createEntityManager();
Query query = em.createQuery("select count(a) from absonnce a where a.nci_etud="+nci+"and a.code_mat="+mat+"and a.sem="+sem);
em.close();

emf.close();
return (ab);
}
merci

3 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
3 mars 2010 à 04:33
Salut,

La ta requête n'est même pas exécutée, elle est juste crée. Pour l'exécuter, il faut utiliser la fonction getResultList de l'objet Query pour récupérer une collection d'élément, ou getSingleResult pour récupérer un unique élément :

public absonnce elem (int nci,int mat,int sem)
{
EntityManagerFactory emf = Persistence.createEntityManagerFactory("pfa");

EntityManager em = emf.createEntityManager();
Query query = em.createQuery("select a from absonnce a where a.nci_etud="+nci+"and a.code_mat="+mat+"and a.sem="+sem);

Absonnce ab = query.getSingleResult();
em.close();

emf.close();
return (ab);
}
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
jadoud Messages postés 19 Date d'inscription mercredi 9 décembre 2009 Statut Membre Dernière intervention 23 mars 2011
4 mars 2010 à 00:04
merci
mais dans le cas ou je utilise getResultList comment lire les éléments séleconner un par un
et dans le cas de count comment je peut avoir l'entier qui signifier le nombre de sélections
merci
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
4 mars 2010 à 07:29
Salut,

getResultList te renvoie une liste, dont il te suffit de la parcourir élément par élément.

Pour le count, il te suffit de récupérer l'élément unique renvoyé par ta requête par un getSingleResult.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
Rejoignez-nous