-
[BMP] findByPrimaryKey
Bonjour,
J'utilise BMP pour mes entity, je cherche a faire une méthode findByPrimaryKey qui va me retourner un enregistrement grace à la clé primaire (d'où son nom ...)
J'execute donc ma requete SQL, je stocke l'enregistrement dans un ResultSet et je voudrai qu'il me retourne mon objet.
Plus précisément, mon bean s'apelle NewsBean qui gère des News et mon findByPrimaryKey devrait me retourner une News.
J'arrive a récupérer chacune des informations de mon enregistrement mais je n'arrive pas à tout "caster" en News.
Romain
-
Si je ne me trompe ta méthode findByPrimaryKey doit retourner une clef et à partir de là le conteneur se charge de charger l'EJB correspondant ! non ?
Donc dans ton cas ton seul job est de vérifier que ta clef correspond bien à un enregistrement. Si oui, tu retourner juste la clef passée en paramètre, sinon tu throw une ObjectNotFoundException.
Dans tous les cas (CMP et BMP) les méthodes findBy retournent au conteneur une clef primaire (ou un ensemble) et le conteneur se charge ensuite de charger les différents EJB. La seule différence est qu'en CMP cette méthode est générée automatiquement à partir du descritpeur, donc on voit pas ce fonctionnement.
Voilì
:wink: ++
-
Re
oui mais si j'appelle cette méthode dans ma JSP, je récupérerai un Integer, comment j'accéderai à mon enregistrement ue le conteneur m'aura retrourné.
Il y a une méthode a appeler à partir de la clé primaire ?
-
Je pense que si tu appelles cette méthode depuis une JSP, tu devrais récupérer un EJBObject sur l'EJB entité News correspondant.
Tu as une erreur quand tu castes ?
Tu fais bien :
Code:
PortableRemoteObject.narrow(tonObjet,News.class);