|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||||||||
|
Invité régulier
![]() Inscription : juillet 2008 Messages : 30 ![]() |
Bonjour à tous,
Je vous expose un petit problème sur la conception d'un generic DAO offrant le CRUD basic partagé pour différent dao spécifique. Je fait étendre ce dao à un autre dao pour y récupérer ces méthodes, mais les valeurs passé en paramètres ne transites pas. La conception : L'interface et la classe generic Dao Code :
Code :
Un DAO voulant accéder à ces méthodes pour la persistence Code :
Code :
Code :
Code :
Je teste ça en debug, et je n'ai même pas : id=null j'ai : id= le package = com.dao.offre.impl.Dao.find(Pk) // pointe en fait vers mon dao offreDao (com.echange.dao.offre.impl) puis la méthodes hérités find du dao generic (Dao.find(Pk)) Avez-vous une idée de pourquoi les paramètres ne sont-ils pas passés ? je n'ai aucune valeur sur T est PK, qui doivent dans ce cas être T = Offre.class(Entité) et Pk = Long (valeur id) la classe Dao (generic) ne serai initialisée ou bien ? pourtant elle y est car le constructeur Dao() me laisse des traces d'une création de chaque "entity" (la variable) pour chaque classe dao associé, lorsque je lance le serveur. Auriez- vous une idée à ce sujet Merci Ps : je n'ai pas tester les autres méthodes, mais si find(Pk id), ne marche déjà pas.... |
||||||||||||
|
|
10
|
|
|
#2 |
|
Membre chevronné
![]() Salim ChamiIngénieur développement logiciels Inscription : décembre 2002 Messages : 651 ![]() |
Salut!
Comment as-tu implémenté tes entités ? |
|
|
00
|
|
|
#3 | ||
|
Invité régulier
![]() Inscription : juillet 2008 Messages : 30 ![]() |
Bonjour Slim
Via JPA (2.0). Exemple d'entête d'entité : Code :
Je réussis à retrouver une entité via la méthode find() (ça ne fonctionne pas toujours pour d'autre entité, bon, je me fixerai déjà sur une "fonctionnant", avançant petit à petit ). La méthode persist fonctionne. La méthode merge ne fonctionne pas. Sur le peut d'entité testé. C'est étrange que ce sois bancal comme ceci. Merci de ton retour Slim, si tu avais une idée en tête à travers le type d'implémentation. |
||
|
|
00
|
|
|
#4 |
|
Membre chevronné
![]() Salim ChamiIngénieur développement logiciels Inscription : décembre 2002 Messages : 651 ![]() |
Quelle est l'exception renvoyée quand tu exécute ton merge ?
|
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() Inscription : juillet 2008 Messages : 30 ![]() |
Salut Slim,
Je reviens quelques jours après ta réponse car je n'ai plus eus de problème avec ce generic DAO et j'attendais quelques test pour en être sur. J'ai surtout l'impression que Eclipse à dût encore se crasher à travers sa compilation et fichier généré à part car je n'ai vraiment modifier de chose et ces derniers temps tout à fonctionné, ainsi que l'intégration total de mes entités via ce DAO. ça reste énervant du coup. J'attends encore un peut de temps pour me donner confirmation, mais actuellement ça à marché du jour au lendemain (l'ordinateur à dut bien dormir -_-). Ps : désolé, je n'avais encore associé d'exception à la méthode merge et donc je n'ai pu voir ce qu'il en était à l'époque. |
|
|
00
|
|
|
#6 |
|
Invité régulier
![]() Inscription : juillet 2008 Messages : 30 ![]() |
Après une semaine, je n'ai toujours pas de souci. Cela fonctionne bien. Je mets donc le post en Résolu.
Ps : j'ai forcé "Pk" au type Object et je n'ai plus que " extends IDao<T>" T find(Object id); Ps : La méthode find public T find(final Object id) { return (T) entityManager.find(entityType, id); } Passer T en paramètre. Ps : Pk en paramètre marcherai aussi sans doute. Merci de tes retour Slim |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com