Bonjour,
Alors voila ça fait un petit moment que je me prends la tête pour créer un tableau qui est composé de plusieurs champs réparties sur plusieurs tables SQL.
En effet, j'aimerais afficher une liste de commande de livres pour le client connecté. J'aimerais afficher des champs de la table COMMANDE et de la table LIVRE (qui passe par une table de relation en passant car cardinalité n---n).
J'ai essayé de réaliser ceci avec le composant graphique "webuijsf:table" que j'ai drag en drop et sa fonctionnalité "Table Layout" en lui fournissant une array d'objet COMMANDES, mais il est incapable d'afficher les champs des autres tables.
Ma deuxième tentative a donc consisté a exécuter une requête SQL qui s'occupe de récupérer les bon champs sur les différentes table puis de remplir mon tableau à partir de la requête SQL qui est sauvé dans une liste. Une fois de plus sans succès car je ne sais pas comment relié mon tableau à la liste que j'ai remplie par les résultats de ma requête SQL.
Fonction de remplissage par requete SQL :
Que faut-il que je fasse ? Merci de m'aider.
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 protected void buildOrdersTableBySQL(Customer cus) { try { Session session = HibernateUtil.getSessionFactory().getCurrentSession(); Transaction tx = session.beginTransaction(); Query q = session.createSQLQuery("SELECT b.title, b.author, o.dateDepart FROM BOOK b, `ORDER` o, BOOK_ORDER bo, CUSTOMER c WHERE b.idBook = bo.idBook AND bo.idOrder = o.idOrder AND o.idCustomer = c.idCustomer AND c.idCustomer = :id"); q.setParameter("id", cus.getIdCustomer()); customerOrders = (Set) q.list(); } catch (Exception e) { e.printStackTrace(); } }
Partager