I also suggest you skip CMP and move directly to JPA. Knowing CMP
isn't going to help you lean JPA at all.
-dain
On May 30, 2007, at 1:17 PM, Jay D. McHugh wrote:
Mark,
I thought about suggesting that you use JPA, but I wasn't sure if
there was a reason 'bigger than you' that was requiring you to use
EJB2.
I tried to learn how to use EJB2 entity beans and I was defeated.
I am _very_ glad that OpenJPA is integrated into Geronimo now - It
is making my life much easier.
If you have any questions once you start working with it I'd be
happy to answer any questions you have (if I can).
(BTW: Thanks to any and every one who had a part in getting JPA
working in Geronimo!)
Jay
Mark Aufdencamp wrote:
Thanks for the response Gianny. I've wacked out a small demo that
I'm working on right now with a session facade, the three beans,
and the database tables. I'll let you all know how it goes:)
I'm planning on hittting EJB 3.0 hard once I understand this. I
want to comprehend the legacy way first!
-------- Original Message --------
Subject: Re: EJB 2.1 CMR Bi-Directional with Compound Key
From: Gianny Damour <[EMAIL PROTECTED]>
Date: Wed, May 30, 2007 7:07 am
To: user@geronimo.apache.org
Hi Mark,
I had a look to the openejb-jar DD and I think you need to
drop the <foreign-key-column-on-source/> element from the
Committee- CommitteeMembers relation. This optional element
means that the foreign key columns declared in the following
<cmr-field-mapping> elements are defined by the CMP declared
by <relationship-role-source>.
So, this should work:
<ejb-relation>
<ejb-relation-name>Committee-CommitteeMembers</ejb-relation-
name>
<ejb-relationship-role>
<ejb-relationship-role-name>Committee-has-many-
CommitteeMembers</ ejb-relationship-role-name>
<relationship-role-source>
<ejb-name>CommitteeEntity</ejb-name>
</relationship-role-source>
<cmr-field>
<cmr-field-name>committeeMembers</cmr-field-name>
</cmr-field>
<role-mapping>
<cmr-field-mapping>
<key-column>CommitteeId</key-column>
<foreign-key-column>CommitteeId</foreign-key-column>
</cmr-field-mapping>
</role-mapping>
</ejb-relationship-role>
</ejb-relation>
Also, you do not need to declare both sides of a relationship:
the above is enough to declare the CMR mapping for the
Committee- CommitteeMembers relation.
BTW, I strongly recommend you to upgrade to OpenEJB3: this
should be a seamless migration from a CMP perspective as the
OpenEJB guys have done a fantastic work at writing an
OpenEJB2 schema converter.
Thanks,
Gianny
On 30/05/2007, at 1:07 AM, Mark Aufdencamp wrote:
> I could really use some help on this! I have a two Entity
beans > with a bi-directional relationship, committees
and > committee_members. Committees has a single field
primary key of > committeeId. Committee_members has a
compound primary key of > CommitteeId+UserId. A Foreign Key
constraint has been defined for > the committee_members table
based on the committeeId. I can't seem > to get this to
deploy and believe it's my openejb-jar.xml > deployment
descriptor in the <relationship> section. I've looked > at
examples from JBoss and Sun, so I'm fairly certain my ejb- >
jar.xml is correct.
>
> Does anyone have a working example of a bi-directional
relatioship > where the many table has a compound key that I
can take a look at?
>
> Where can I find documentation on how OpenEJB and TranQL
interact > to create the O/R map?
>
> This knowledge are really seems to be lacking documentation
in > Geronimo. I'd really like to draw some pretty pictures
of tables > and beans with the seven different relationship
types defined for > EJB 2.1. This would be good preliminary
work for documenting EJB > 3.0 examples. Please help me
learn, so I can contribute:)
>
> TIA,
> Mark Aufdencamp
> [EMAIL PROTECTED] <http://email.secureserver.net/
pcompose.php?
aEmlPart=0&type=reply&folder=INBOX.Apache.Geronimo.Users&uid=108#Comp
ose>