2010-08-21 22 views
1

est-il possible de mapper le champ clé du bean avec la colonne de la clé primaire de l'identité dans DB2? Table d'échantillons: CREATE TABLE ADRESSE ( ID INTEGER NOT NULL généré par défaut que l'identité ( START WITH 1 INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 NO CYCLE CACHE 20 NO COMMANDE), Line1 VARCHAR (255) NOT NULL, Line2 VARCHAR (255), Ville VARCHAR (255) NOT NULL, Code postal VARCHAR (6) NOT NULL, Pays VARCHAR (50) NOT NULL, Latitude DOUBLE, DOUBLE Longitude ) AUDIT NONE CAPTURE DE DONNEES AUCUN CCSID UNICODE;Clé primaire générée automatiquement par le bean CMP 2.0 WAS 6.1

Les méthodes ejbCreate ont été conçues pour ne pas définir le champ ID, mais elles sont initialisées avec la valeur par défaut pour le type entier - 0, donc je reçois DuplicateKeyException lors des appels suivants à ejbCreate. Quelle est la meilleure façon d'implémenter le comportement IDENTITY? J'ai trouvé beaucoup d'exemples pour JBoss mais rien pour WAS. C'était facile avec JPA, mais CMP 2.0 est un must pour l'instant

Répondre

0

Méthode de remplacement ejbPostCreate. Vous serez en mesure de récupérer l'ID généré à partir de là, et mettre à jour votre modèle et votre code afin d'éviter les doublons ID.

Par exemple, jetez un oeil à http://forums.sun.com/thread.jspa?threadID=699131

+0

Je haricots supplémentaires mis en œuvre « séquence » au lieu décrit dans la demande de banque de Duke (Sun J2EE 1.4 Tutorial). Merci pour les conseils, je vais essayer de remplacer ejbPostCreate une autre fois –