Bonjour,
Est-ce qu'il est possible d'écrire une requêtte qui fait la jointure de plusieurs tables dans une entité bean?
Que dois-faire si c'est impossible?
Bonjour,
Est-ce qu'il est possible d'écrire une requêtte qui fait la jointure de plusieurs tables dans une entité bean?
Que dois-faire si c'est impossible?
Bonjour,
j'utilise EJB3 avec netbeans5.5 et sjsas9 comme serveur d'apllication.
Cordialement heriniaina1
Bonjour,
C'est tout à fait faisable, il suffit de passer par un objet wrapper qui encapsule les EJB des différentes tables à récupérer.
Par exemple, si NetBeans vous a créé les EJBs des tables TableA et TableB, alors vous pouvez créer un objet tel que le suivant:
Ensuite il faut l'utiliser dans une EJBQuery du genre
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
27
28 package mypackage; public class MyWrapper { private TableA tableA; private TableB tableB; /** Creates a new instance of MyWrapper */ public MyWrapper() { } public TableA getTableA() { return tableA; } public void setTableA(TableA tableA) { this.tableA = tableA; } public TableB getTableB() { return tableB; } public void setTableB(TableB tableB) { this.tableB = tableB; } }Et vous récupérez une liste de MyWrapper.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 String query = "SELECT new mypackage.MyWrapper(a, b) " + "FROM TableA a, TableB b " + "WHERE ${condition de jointure}" return emf.createEntityManager().createQuery(query)
Valère
Est ce qu'avec Jboss x'est la même chose?? J'utilise EclipseWTP avec un serveur JBOSS4..
Partager