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:
1 2
| homeMatch = getEntityMatch1LocalHome();
Collection col = homeMatch.findAllKey( "test" ); |
Et voici ce que fait ma fonction FindAllKey dans mon ejb Entité:
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;
} |
et voici mon erreur lors de l'exécution:
05/12/23 11:51:09 (*getListeMatchs*)Erreur générale: java.lang.ClassCastException: java.lang.String
J'ai essayé des castings dans tous les sens, mais rien n'y fait, toujours la même erreur
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
Partager