Cedric Beust wrote:

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

n'est ce pas la une illustration de la CMR,a gerer avec ejbgen ou xdoclet en effet....
les mappings 1..n sont bien geres (attention a la version 1.2 pour support des getFieldPK() dans les value objects pour xdoclet)

Jerome

Répondre à