Heck, I would love to know a guess on when the darned spec will be available! The 
sooner the better!

Jim

--On Friday, February 23, 2001 9:15 AM -0500 Michael A Third <[EMAIL PROTECTED]> wrote:

>
> Thanks for the reply.  We were already doing this, and I realized how
> repetitive it was and hoped that 1.4.7 could cut the time we spent doing
> this (we have a lot of these relationships).  Does anyone have a guess as
> to when full EJB 2.0 support will be available?
>
> Thanks,
>
> Michael
>
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED]]On Behalf Of Jeff Schnitzer
> Sent: Thursday, February 22, 2001 8:18 PM
> To: Orion-Interest
> Subject: RE: CMP 2.0 OR mapping problem
>
>
> Bidirectional relationships do not yet work.
>
> There are two workarounds that have worked for me:
>
> Manually add (and remove!) both sides of the relationship.  So your
> Marketplace.addStorefront() method would look like this:
>
> void addStorefront(Storefront front)
> {
>        this.getStorefronts().add(front);
>
> front.setMarketplace((Marketplace)this.ejbContext.getEJBObject());
> }
>
> etc.  Alternatively you can modify your
> Marketplace.getMarketplaceStorefronts() method so that instead of
> obtaining the storefronts from the internal collection it runs a
> findByMarketplace finder method on the StorefrontHome.  Then you just
> need to make sure that the storefronts->marketplace reference is kept
> solid.
>
> Jeff
>
>> -----Original Message-----
>> From: Michael A Third [mailto:[EMAIL PROTECTED]]
>> Sent: Thursday, February 22, 2001 3:37 PM
>> To: Orion-Interest
>> Subject: CMP 2.0 OR mapping problem
>>
>>
>> I have been trying to get Orion to correctly map a non-dependant
>> bidirectional 1:N relationship using EJB 2.0.  It tries to generate a
>> collection mapping that uses a third table to hold the
>> reference.  I was
>> able to deploy it properly using a unidirectional relationship.
>>
>> Here is the relevant entries from ejb-jar.xml (edited for brevity):
>>              <entity>
>>
>> <ejb-name>com.trademotion.ejb.base.Marketplace</ejb-name>
>>
>> <cmp-field><field-name>marketplaceID</field-name></cmp-field>
>>
>> <cmp-field><field-name>name</field-name></cmp-field>
>>
>> <cmp-field><field-name>storefronts</field-name></cmp-field>
>>                      <primkey-field>marketplaceID</primkey-field>
>>              </entity>
>>              <entity>
>>
>> <ejb-name>com.trademotion.ejb.base.Storefront</ejb-name>
>>
>> <cmp-field><field-name>storefrontID</field-name></cmp-field>
>>
>> <cmp-field><field-name>name</field-name></cmp-field>
>>
>> <cmp-field><field-name>marketplace</field-name></cmp-field>
>>                      <primkey-field>storefrontID</primkey-field>
>>              </entity>
>>
>>      <relationships>
>>              <!-- 1:N (Marketplace Storefront) -->
>>              <ejb-relation>
>>
>> <ejb-relation-name>Marketplace-Storefront</ejb-relation-name>
>>
>>                      <ejb-relationship-role>
>>
>> <ejb-relationship-role-name>marketplace-has-storefronts
>>                              </ejb-relationship-role-name>
>>                              <multiplicity>One</multiplicity>
>>                              <role-source>
>>
>> <ejb-name>com.trademotion.ejb.base.Marketplace</ejb-name>
>>                              </role-source>
>>                              <cmr-field>
>>
>> <cmr-field-name>storefronts</cmr-field-name>
>>
>> <cmr-field-type>java.util.Collection</cmr-field-type>
>>                              </cmr-field>
>>                      </ejb-relationship-role>
>>
>>                      <ejb-relationship-role>
>>
>> <ejb-relationship-role-name>storefront-belongsto-marketplace
>>                              </ejb-relationship-role-name>
>>                              <multiplicity>Many</multiplicity>
>>                              <cascade-delete/>
>>                              <role-source>
>>
>> <ejb-name>com.trademotion.ejb.base.Storefront</ejb-name>
>>                              </role-source>
>>                              <cmr-field>
>>
>> <cmr-field-name>marketplace</cmr-field-name>
>>
>> <cmr-field-type>com.trademotion.ejb.base.Marketplace
>>                                      </cmr-field-type>
>>                              </cmr-field>
>>                      </ejb-relationship-role>
>>              </ejb-relation>
>>
>>      </relationships>
>> Here is the generated orion-ejb-jar.xml (again, edited):
>>              <entity-deployment
>> name="com.trademotion.ejb.base.Marketplace">
>>                      <primkey-mapping>
>>                              <cmp-field-mapping
>> name="marketplaceID" persistence-
>>                                      name="marketplaceID" />
>>                      </primkey-mapping>
>>                      <cmp-field-mapping name="storefronts">
>>                              <collection-mapping
>>
>> table="com_trademotion_ejb_base_Marketplace_storefronts">
>>                                      <primkey-mapping>
>>
>> <cmp-field-mapping name="marketplaceID" persistence-
>>
>> name="marketplaceID" />
>>                                      </primkey-mapping>
>>                                      <value-mapping
>> type="com.trademotion.ejb.base.Storefront">
>>
>> <cmp-field-mapping name="value">
>>                                                      <entity-ref
>>
>> home="com.trademotion.ejb.base.Storefront">
>>
>> <cmp-field-mapping name="value"
>>                                              persistence-name="value"
>> />
>>                                                      </entity-ref>
>>                                              </cmp-field-mapping>
>>                                      </value-mapping>
>>                              </collection-mapping>
>>                      </cmp-field-mapping>
>>              </entity-deployment>
>>
>> The Storefront side of relationship is generated correctly.
>> From previous
>> posts, Orion supports what I'm trying to do (btw, I'm using 1.4.7).
>>
>> Thanks,
>>
>> Michael A Third
>> Parts.com
>>
>> -----Original Message-----
>> From: [EMAIL PROTECTED]
>> [mailto:[EMAIL PROTECTED]]On Behalf Of
>> Robert Krueger
>> Sent: Thursday, February 22, 2001 1:44 PM
>> To: Orion-Interest
>> Subject: RE: No influence on CMP 2.0 getter setter methods - a feature
>> or abug?
>>
>>
>>
>>>
>>> There seems to be some smart-ass named "Robert Krueger"
>>> who thinks he knows all the answers :) :) :)
>>
>> I've heard of him. he must be a real pain in the ass ;).
>>
>> cheers,
>>
>> robert
>>
>>> Thanks Robert!
>>>
>>> -tim
>>
>> (-) Robert Krüger
>> (-) SIGNAL 7 Gesellschaft für Informationstechnologie mbH
>> (-) Brüder-Knauß-Str. 79 - 64285 Darmstadt,
>> (-) Tel: 06151 665401, Fax: 06151 665373
>> (-) [EMAIL PROTECTED], www.signal7.de
>>
>>
>>
>



********************************************
I shall be telling this with a sigh
Somewhere ages and ages hence:
Two roads diverged in a wood, and I -
I took the one less traveled by,
And that has made all the difference.

- Robert Frost, 1916


Reply via email to