Bonjour,
Je vous explique mon problème. L'application que je développe est un annuaire classique d'entreprise. J'ai à gérer des tables MySQL nommées "Division", "Service", "Contact", "Coordonnees" et "Pays", ces tables sont liées entre elles par des relations directionnelles.
L'environnement est sous JBOSS5 et Hibernate (MySQL 5.1). L'ensemble fonctionne déjà bien. Je n'ai pas eu de problème particulier jusqu'à présent.
La requête SQL présente dans mes codes relie bien les entity créés.
Voici le code contenu dans le SessionBean :
et le code contenu dans AllInfosAboutContactBean est le suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 public AllInfosAboutContactBean getServiceByContact(Contact cont){ Query query = em.createQuery("SELECT service.lblService AS lblService, division.lblDivision AS lblDivision, contact.nom AS nom, contact.prenom AS prenom, contact.mail AS mail, contact.birthday AS birthday, contact.tel_portable AS tel_portable, contact.tel_fixe AS tel_fixe, contact.commentaire AS commentaireCont, coordonnees.adresse1 AS adresse1, coordonnees.adresse2 AS adresse2, coordonnees.CP AS CP, coordonnees.ville AS ville, pays.lblPays AS lblPays, coordonnees.telephone AS telephone, coordonnees.fax AS fax, coordonnees.commentaire AS commentaireCoord FROM Contact contact, Service service, Coordonnees coordonnees, Pays pays, Division division WHERE service.idService=contact.service AND division.idDivision=service.division AND coordonnees.idCoord=service.coord AND pays.idPays=coordonnees.pays AND contact.idCont=?0"); query = query.setParameter(0, cont.getId()); return (AllInfosAboutContactBean) query.getSingleResult(); }
J'ai exécuté la requête SQL sous PHPMyAdmin et elle fonctionne très bien, je n'ai qu'une seule ligne avec les infos demandées.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 public class AllInfosAboutContactBean { private String lblService; private String lblDivision; private String nom; private String prenom; private String mail; private String birthday; private String tel_portable; private String tel_fixe; private String commentaireCont; private String adresse1; private String adresse2; private String CP; private String ville; private String lblPays; private String telephone; private String fax; private String commentaireCoord; // getters et setters... }
Cependant j'ai un problème : la classe retournée par query.getSingleResult() ne correspond pas à celle de AllInfosAboutContactBean...![]()
Une chose à savoir : AllInfosAboutContactBean n'est pas parmi les entity servant à concevoir une table car elle sert uniquement pour les résultats de la requête.
Merci de votre aide...
Cordialement,
Vito12345
Partager