Cedric Beust wrote:
n'est ce pas la une illustration de la CMR,a gerer avec ejbgen ou xdoclet en effet....Sebastien LAYER wrote:Bonsoir,Utilise ejbPostCreate() pour faire ca.
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.
Et si tu utilises WebLogic, je te suggere d'utiliser http://beust.com/ejbgen
les mappings 1..n sont bien geres (attention a la version 1.2 pour support des getFieldPK() dans les value objects pour xdoclet)
Jerome
