-------- Original Message --------
Subject: Re: EJB 2.1 CMR Bi-Directional with Compound Key
From: Gianny Damour <email@example.com>
Date: Wed, May 30, 2007 7:07 am
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:
Also, you do not need to declare both sides of a relationship: the
above is enough to declare the CMR mapping for the Committee-
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.
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:)
> Mark Aufdencamp