Sebastien LAYER wrote:
Bonsoir,
 
 
je viens de démarrer dans les EJB CMP 2.0 et je me trouve fasse à un probleme conceptuel non evoqué dans les manuels (net, books, etc ..)
Mon probleme est le suivant:
 
Le mapping d'une base relationnel implique bien evidemment la mise en place d'EJB Entity CMP liés par des relations d'entité. Les septs types de relations sont clairs et facilement à mettre en place tant que l'on a des relation 1-1, 1-0..n, etc ...
Cependant quand je mappe deux tables qui sont en relation 1-1..N et j'insiste sur le 1..N qui implique que la clé étrangère dans une table ne peut être nulle (NOT NULL ds la creation de la base). Dans ce cas précisemment, je ne comprend pas comment on peut mettre en place le modele un à plusieurs unidirectionnel. En effet, les CMP (le conteneur) gerent les clés primaires et etrangères et il interdit d'utiliser des setters pour affecter ces clés. Cependant dans la construction de l'objet lié, le create implique l'affectation de la clé étrangère de manière à valider le concept du 1-1..N hors le conteneur renvoi une erreur(interdiction d'utiliser un setter pour les champs CMR-FIELD). Si la clé etrangère n'est pas affecte, le SGBR renvoi une erreur car le champ n'est pas affecte( NOT NULL: la clé etrangère).
 
La question est: Comment faut faire pour valider ce modele de relation 1-1..N ? Je ne vois pas du tout comment on peut le mettre en place avec des EJB CMP 2.0.
Utilise ejbPostCreate() pour faire ca.

Et si tu utilises WebLogic, je te suggere d'utiliser http://beust.com/ejbgen

-- 
Cédric
http://beust.com/weblog




Répondre à