j'ai trois table: personne, séances et réservation.
réservation, personne : relation de type OneToMany bidirectionnelle.
réservation, séances : relation de type OneToMany bidirectionnelle.
Via cette requête:
@Override
public List<Reservation> getRes(long idp)
{
TypedQuery<Reservation> q= (TypedQuery<Reservation>) em.createQuery("select idp.mail from Reservation r left join r.identitePersonne idp where r.identitePersonne.id_personne='"+idp+"'", Reservation.class);
return q.getResultList();
}
je veux afficher quelques informations et pas la totalité.
avec le code ci dessus, j'arrive à afficher le mail normalement: [xxxx@yyyyy.com],
mais quand je fais ça, et donc afficher quelques champs seulement:
@Override
public List<Reservation> getRes(long idp)
{
TypedQuery<Reservation> q= (TypedQuery<Reservation>) em.createQuery("select idp.mail, r.nombre_place, s.date_debut_seance from Reservation r join r.identitePersonne idp join r.seance s where r.identitePersonne.id_personne='"+idp+"'", Reservation.class);
return q.getResultList();
}
ça donne le résultat suivant: [[Ljava.lang.Object;@7aaeea3a].
Quelqu'un peut m'expliquer ce résultat, et me dire si ma requête est correct ou pas!
je vais modifier ma requête, par contre dans ton exemple c'est une simple requête pour récupérer les champs de la tables catégorie, alors que moi je souhaite faire une jointure entre 3 tables.
Pour ta question: Si jpa ou est ton entitymanager?, oui c'est JPA, et j'ai utilisé l em dans la requête !!
em.createQuery("select ........")
merci encore, je reviendrai pour poster mon code final et mettre le post à résolu (si j'y arriverais ^^)
bonne journée
MN
JPA, OneToMany, requête jointure, JAVA
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.