asmahane24
Messages postés32Date d'inscriptionmardi 22 mars 2005StatutMembreDernière intervention10 octobre 2011
-
16 mai 2009 à 17:13
asmahane24
Messages postés32Date d'inscriptionmardi 22 mars 2005StatutMembreDernière intervention10 octobre 2011
-
17 mai 2009 à 17:24
Bonjour;
Veuillez m'aider sur le point suivant:
j'ecris une requete JPQL qui me rend une seul colonne (requete suivante)
Collection pa = em.createQuery("select fr.code_rub from Fact_Rubrique fr join fr.factures fd where fd.facture.fact_code='I20070100011'").getResultList();
java.util.ArrayList list = new java.util.ArrayList(pa);
System.out.println(list.get(0));
pour cette requete je peut afficher le resultat.
Le probleme est quand la requete me rend Plusieurs colonnes, je ne sais pas comment manipuler les données.
La requete est la suivante:
Collection pa = em.createQuery("select fr.code_rub, fr.abrev_rub from Fact_Rubrique fr join fr.factures fd where " +
" fd.facture.fact_code='I20070100011'").getResultList();
java.util.ArrayList list = new java.util.ArrayList(pa);
System.out.println(list.get(0)+" abreviation: "+list.get(1));
asmahane24
Messages postés32Date d'inscriptionmardi 22 mars 2005StatutMembreDernière intervention10 octobre 2011 17 mai 2009 à 09:47
Bonjour;
Je vous remercie pour la reponse mais je n'arrive toujours pas a manipuler mes données.
Les instructions suivantes me rendent toujours le meme resultat.
Collection pa = em.createQuery("select fr.code_rub, fr.abrev_rub from Fact_Rubrique fr join fr.factures fd where " +
" fd.facture.fact_code='I20070100011'").getResultList();
java.util.ArrayList<fact_rubrique> list = new java.util.ArrayList <fact_rubrique>(pa);
System.out.println(list.get(0)+" abreviation: "+list.get(1));
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 17 mai 2009 à 09:53
Ben forcément qu'elles te donnnent toujours le même résultat : tu n'as pas utilisé ce que je t'ai dit ! Il faut utiliser les generics pour typer tes données contenues dans tes listes, ou sinon caster les objets dans tes listes. Sans cà, java les considérera toujours comme des Object !
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 17 mai 2009 à 15:15
Tu n'as toujours pas compris ce que je t'ai dit apparement : Si tu travaille avec des Object, java t'affichera des java.lang.Object;@118278a dans la console, et tu ne pourras pas les manipuler à ta guise !
Il faut les caster dans le bon type :
List<Fact_Rubrique> pa = em.createQuery("select fr.code_rub, fr.abrev_rub from Fact_Rubrique fr join fr.factures fd where " + " fd.facture.fact_code='I20070100011'").getResultList();
for ( Fact_Rubrique info : pa) { System.out.println(info.getCode_rub() + " : " + info.getAbrev_rub()); }
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 17 mai 2009 à 16:49
Toujours le même problème : ce n'est pas un MaClasseGeneric que te renvoie hibernate !
Il te faut avoir un EntityBean, qui soit mappé avec ta table, sinon forcément, il ne va pas te renvoyer n'importe quelle instance de classe...
Je te conseille vraiment de lire un tutorial sur JPA ou Hibernate pour comprendre ce concept, car là tu na vas pas aller bien loin avec cette lacune.
Grosso-modo, ca consiste à faire une classe comme tu l'as fait, mais en spécifiant en plus qu'il s'agit d'un entityBean, avec le nom de la table qui est mappée à ce bean, et quelle colonne est mappée avec quel propriété de ta classe.
Sans ce mapping Objet/Relationnel, JPA est absolument incapable (et ca se comprend) de savoir que la colonne code_rub doit être stockée dans la propriété param1 de la classe MaClasseGeneric !!!
asmahane24
Messages postés32Date d'inscriptionmardi 22 mars 2005StatutMembreDernière intervention10 octobre 2011 17 mai 2009 à 17:24
bonjour,
sachant que Fact_Rubrique est mappé sur une table.
Voulez vous dire que si je voudrais selectionner qu'une partie de colonnes de ma tables je doit crer un entity bean mappé sur les colonne dont j'ai besoin?