Bonjour à tous,
Voilà je dois développer pour les cours des EJB.
Ceux-ci sont sensés encoder les résultats de match de tennis.
J'arrive à me logger via un mot de passe dans la bd ( une interface graphique contacte un ejb session stateless remote qui contacte un ejb entité local pour accéder à la bd ). Le login fonctionne sans problème.
Une fois que je suis connecté j'aimerais aller rechercher les id des mes matchs dans la bd ( table Match ) pour les afficher dans une combobox et ainsi pouvoir choisir le match dont on désire encoder les résultats.
Mon ejb session contacte donc l'ejb entité pour obtenir cette liste:
Et voici ce que fait ma fonction FindAllKey dans mon ejb Entité:Code:
1
2 homeMatch = getEntityMatch1LocalHome(); Collection col = homeMatch.findAllKey( "test" );
et voici mon erreur lors de l'exécution:Code:
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
29
30
31
32
33 public Collection ejbFindAllKey(String primaryKey) throws ObjectNotFoundException, FinderException { String tmp; ArrayList liste; String selectStatement; System.out.println("*** Fonction FindByAllKey ***"); selectStatement = "SELECT NumMatch FROM Match"; try { PreparedStatement ps = con.prepareStatement( selectStatement ); ResultSet rs = ps.executeQuery(); System.out.println("Requete Ok"); liste = new ArrayList(); // Construction de la liste des matchs while( rs.next() ) { int iVar = rs.getInt(1); String sVar = String.valueOf(iVar); liste.add( sVar ); } ps.close(); } catch( SQLException e ) { throw new FinderException("Erreur Finder"); } if( liste.isEmpty() ) throw new ObjectNotFoundException("Pas de match dans la liste"); else return liste; }
J'ai essayé des castings dans tous les sens, mais rien n'y fait, toujours la même erreur :cry:Code:05/12/23 11:51:09 (*getListeMatchs*)Erreur générale: java.lang.ClassCastException: java.lang.String
je me suis inspiré de ce code:
http://www.ashita-studio.com/tutoria...hapitre_06.php
Si quelqu'un pouvait m'aider, ce serait vraiment un coup de main en or :D