|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Jean-michel DELFINOAdministrateur systèmes et réseaux Inscription : janvier 2012 Messages : 27 ![]() |
Bonjour !
après plusieurs jours de recherches infructueuses sur divers forum et tutoriels, j'en suis réduit à poster ce message sos : je n'arrive désespérément pas à utiliser correctement la méthode find() dans mon application. j'ai suivi consciencieusement le tutoriel suivant : http://wwwdi.supelec.fr/hardebolle/t...JEE_43-jpa.php mais bien évidemment, il me manque certainement LE pré-requis nécessaire... Quelqu'un peut-il m'aider ? Au besoin je peux envoyer le code source de mon application pour tenter de comprendre... Merci beaucoup d'avance jean-Michel |
|
|
00
|
|
|
#2 |
|
Membre émérite
![]() |
euhhhh tu n'as mentionné aucune erreur
Et quelle est votre erreur
__________________
Ce qu'on appelons le hasard n'est que notre incapacité à comprendre un degré d'ordre supérieur. |
|
|
00
|
|
|
#3 | |
|
Expert Confirmé
![]() Ingénieur développement logiciels Inscription : juin 2007 Messages : 2 258 ![]() |
Citation:
|
|
|
|
00
|
|
|
#4 | ||||||
|
Invité régulier
![]() Jean-michel DELFINOAdministrateur systèmes et réseaux Inscription : janvier 2012 Messages : 27 ![]() |
fichier categorie.java
Code :
Code :
Code :
C'est cette ligne là categorie data=catfacade.find(ptl); du fichierCatalogManager.java qui me pose du soucis. catfacade.find(ptl) Dans cette expression, il manque certainement un argument, puisque ça plante à l'exécution avec comme message : Erreur lors de l?injection de ressources dans le bean géré «catalogManager» Caused by: java.lang.NullPointerException at logic.CatalogManager.initcategorie(CatalogManager.java:128) Ou alors, il y a quelque chose que je n'ai pas compris du tout... Merci encore de m'aider !!!! jean-Michel Je m'en souviendrai, quand plus tard, devenu pro moi aussi, je pourrais aider des débutants en Java... |
||||||
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() Jean-michel DELFINOAdministrateur systèmes et réseaux Inscription : janvier 2012 Messages : 27 ![]() |
Et quand j'essaye ça :
categorie data=catfacade.find(categorie.class, ptl); Netbeans me dit : method find in class logic.AbstractFacade<T> cannot be applied to given types; required: java.lang.Object found: java.lang.Class<model.categorie>,int reason: actual and formal argument lists differ in length ??? |
|
|
00
|
|
|
#6 |
![]() ![]() Inscription : novembre 2006 Messages : 5 063 ![]() |
Il faudrait le code de AbstractFacade
|
|
|
00
|
|
|
#7 | ||
|
Invité régulier
![]() Jean-michel DELFINOAdministrateur systèmes et réseaux Inscription : janvier 2012 Messages : 27 ![]() |
Code de AbstractFacade.java
Code :
|
||
|
|
00
|
|
|
#8 | ||||
|
Expert Confirmé
![]() Ingénieur développement logiciels Inscription : juin 2007 Messages : 2 258 ![]() |
Voila ton appel :
Code :
categorie data=catfacade.find(categorie.class, ptl); Code :
Code :
|
||||
|
|
00
|
|
|
#9 | |||||
![]() ![]() Inscription : novembre 2006 Messages : 5 063 ![]() |
Citation:
par contre, tu ne testes pas le fait que la clé n'existe pas, ton find peut renvoyer null |
|||||
|
|
00
|
|
|
#10 | ||
|
Invité régulier
![]() Jean-michel DELFINOAdministrateur systèmes et réseaux Inscription : janvier 2012 Messages : 27 ![]() |
Netbeans ne veut pas
il me répond : Code :
|
||
|
|
00
|
|
|
#11 |
![]() ![]() Inscription : novembre 2006 Messages : 5 063 ![]() |
Tu devrais choisir un type d'objet pour la clé plutôt qu'un primitif.
Dans ta base de données, la clé est de type Integer ou autre ? |
|
|
00
|
|
|
#12 |
|
Invité régulier
![]() Jean-michel DELFINOAdministrateur systèmes et réseaux Inscription : janvier 2012 Messages : 27 ![]() |
oui, la clef est de type integer...
Merci de passer du temps pour m'aider ! J'espère que je vais m'en sortir... J'ai développé longtemps en Pascal, d'abord Turbo-Pascal puis Delphi puis Lazarus, mais avec Java, je suis vraiment perdu... Jean-Michel |
|
|
00
|
|
|
#13 | ||||
|
Invité régulier
![]() Jean-michel DELFINOAdministrateur systèmes et réseaux Inscription : janvier 2012 Messages : 27 ![]() |
J'ai essayé ça :
Code :
Il n'y a plus de message d'erreur à l'écriture ni à la compilation, mais à l'exécution, ça donne : Code :
Code :
categorie data=catfacade.find(categorie.class, 1); |
||||
|
|
00
|
|
|
#14 |
![]() ![]() Inscription : novembre 2006 Messages : 5 063 ![]() |
As-tu modifié le mapping pour mettre un Integer au lieu du int ?
|
|
|
00
|
|
|
#15 |
|
Invité régulier
![]() Jean-michel DELFINOAdministrateur systèmes et réseaux Inscription : janvier 2012 Messages : 27 ![]() |
Je ne sais pas.
J'ai essayé "double" au moins c'est écrit identique, J'ai essayé String puisque String est un objet, mais le prblm reste le même |
|
|
00
|
|
|
#16 | ||
![]() ![]() Inscription : novembre 2006 Messages : 5 063 ![]() |
mais non, ça ne colle pas... ta base dit : Integer
mappe donc ton champ en Integer et dans ton code, fait un Code :
|
||
|
|
00
|
|
|
#17 | ||||
|
Invité régulier
![]() Jean-michel DELFINOAdministrateur systèmes et réseaux Inscription : janvier 2012 Messages : 27 ![]() |
J'ai essayé, sans meilleurs résultats.
j'ai essayé aussi en remplaçant tous les "int" correspondants dans le code par Integer, cela ne change rien. Je devrais peut-être signaler aussi une autre erreur (non blocante, mais est-ce lié ?) sur les lignes suivantes : Code :
"instance variable for a persistent attribute must be not public" ça marche quand même, mais dans la page d'erreur, en plus de : Caused by: java.lang.NullPointerException at logic.CatalogManager.initcategorie(CatalogManager.java:132) il y a : Caused by: com.sun.faces.spi.InjectionProviderException: com.sun.enterprise.container.common.spi.util.InjectionException: Exception attempting invoke lifecycle method public void logic.CatalogManager.initcategorie() Evidemment, si je remplace public par private, cela me génère d'autres erreurs dans le fichier CatalogManager... Au passage, j'ai essayé ça aussi : Code :
J'ai aussi vérifié ma base de données dans Glassfich où j'ai bien deux enregistrements. Là aussi, j'ai tenté différentes configurations dans la table et testé différents paramètres et clefs possibles, bien évidemment en revenant à la configuration d'origine pour ne pas me perdre. C'est quand même étrange qu'un simple accès à une base de données soit aussi complexe à mettre en oeuvre. le reste de mon apprentissage, accès réservé avec login, affichage de formulaires etc, ne pose pas particulièrement de problèmes. Je suis prêt à réécrire mon ancien programme Pascal en java, si ce n'est ce "petit" écueil. Mais l'actualité récente montre que même un gigantesque paquebot peut s'échouer sur un petit rocher, alors... |
||||
|
|
00
|
|
|
#18 |
|
Invité régulier
![]() Jean-michel DELFINOAdministrateur systèmes et réseaux Inscription : janvier 2012 Messages : 27 ![]() |
J'ai essayé ça aussi :
Code :
List<categorie> data= catfacade.findAll(); Donc, j'en déduit que ce n'est peut être pas les arguments de la méthode find, mais peut-être bien le prblm de "public/private" indiqué dans mon post précédent ? |
|
|
00
|
|
|
#19 | ||
![]() ![]() Inscription : novembre 2006 Messages : 5 063 ![]() |
c'est vrai que les attributs sont private avec des getter/setter public
je n'avais pas fait attention à ce détail. dans ce que je fais, c'est le cas et l'annotation est placée sur le getter Code :
|
||
|
|
00
|
|
|
#20 | ||||||||||||
|
Invité régulier
![]() Jean-michel DELFINOAdministrateur systèmes et réseaux Inscription : janvier 2012 Messages : 27 ![]() |
J'ai repris une web application à zéro, en suivant méticuleusement le tutoriel du supélec indiqué au début de cette discussion...
voici le code des pages principales : Product.Java Code :
Code :
Code :
Code :
Code :
Mais à l'exécution, ça plante avec comme message : Erreur lors de l?injection de ressources dans le bean géré «catalogManager» Code :
Où puis-je trouver, au pire, un petit exemple à télécharger qui fonctionne et qui pourrait me servir de modèle pour comprendre ? |
||||||||||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com