Oh, yes, Dain. Thanks for the explanation. I didn't know about
<key-fields/>.
  As to changing the error message... Yes, I think it would be better to
change it to something like "key-fields were specified incorrectly" or so.
Current message sounds like a requirement, as for me.

alex

> -----Original Message-----
> From: Dain Sundstrom [mailto:[EMAIL PROTECTED]]
> Sent: Thursday, April 25, 2002 8:23 PM
> To: [EMAIL PROTECTED]
> Cc: Jboss-User (E-mail)
> Subject: Re: [JBoss-user] relation-table mapped relationship
>
>
> Alex Loubyansky wrote:
>
> >   I have to beans with many-to-many relationship.
> > 1. not specifying settings relation-table-mapping works fine;
> > 2. specifying only table-name in relation-table-mapping
> throws an exception
> > while deployment;
> > 3. specifying table-name in relation-table-mapping and corresponding
> > key-fields in ejb-relationship-role's works fine.
> >
> >   In jbosscmp-jdbc_3_0.dtd I haven't found such
> constraints. Is it a bug?
> >
> >   I used JBoss-3.1.0alpha checked at 15.04, J2SDK1.4.0, Win2K.
> >
> > 1. for the first case (works fine):
> >     <ejb-relation>
> >       <ejb-relation-name>Category-Resource</ejb-relation-name>
> >       <relation-table-mapping>
> >       </relation-table-mapping>
> >       <ejb-relationship-role>
> >
> >
> <ejb-relationship-role-name>category-has-resources</ejb-relati
> onship-role-na
> > me>
> >           <key-fields/>
> >       </ejb-relationship-role>
> >       <ejb-relationship-role>
> >
> >
> <ejb-relationship-role-name>resource-belongs-categories</ejb-r
> elationship-ro
> > le-name>
> >           <key-fields/>
> >       </ejb-relationship-role>
> >     </ejb-relation>
>
>
> When using relation table mapping, you must either not include the
> key-fields mapping or you must supply a mapping for each key field.
>
>
> > 2. for the second case (deployment exception):
> >     <ejb-relation>
> >       <ejb-relation-name>Category-Resource</ejb-relation-name>
> >       <relation-table-mapping>
> >         <table-name>category_resource</table-name>
> >       </relation-table-mapping>
> >       <ejb-relationship-role>
> >
> >
> <ejb-relationship-role-name>category-has-resources</ejb-relati
> onship-role-na
> > me>
> >           <key-fields/>
> >       </ejb-relationship-role>
> >       <ejb-relationship-role>
> >
> >
> <ejb-relationship-role-name>resource-belongs-categories</ejb-r
> elationship-ro
> > le-name>
> >           <key-fields/>
> >       </ejb-relationship-role>
> >     </ejb-relation>
>
>
> Same as above.
>
>
> > 2002-04-25 14:37:50,356 ERROR
> [org.jboss.ejb.EntityContainer] Exception in
> > service lifecyle operation: create
> > org.jboss.deployment.DeploymentException: Both roles of a
> relation-table
> > mapped relationship must have key fields:
> > ejb-relation-name=Category-Resource
>
>
> Should I change the error message?  It makes since to me, but I wrote
> the code.
>
>
> > 3. for the third case (works fine):
> >     <ejb-relation>
> >       <ejb-relation-name>Category-Resource</ejb-relation-name>
> >       <relation-table-mapping>
> >         <table-name>category_resource</table-name>
> >       </relation-table-mapping>
> >       <ejb-relationship-role>
> >
> >
> <ejb-relationship-role-name>category-has-resources</ejb-relati
> onship-role-na
> > me>
> >           <key-fields>
> >              <key-field>
> >                <field-name>categoryId</field-name>
> >                <column-name>category</column-name>
> >              </key-field>
> >           </key-fields>
> >       </ejb-relationship-role>
> >       <ejb-relationship-role>
> >
> >
> <ejb-relationship-role-name>resource-belongs-categories</ejb-r
> elationship-ro
> > le-name>
> >           <key-fields>
> >              <key-field>
> >                <field-name>resourceId</field-name>
> >                <column-name>resource</column-name>
> >              </key-field>
> >           </key-fields>
> >       </ejb-relationship-role>
> >     </ejb-relation>
> >
>
>
> As it should.  This will also work:
>
>       <ejb-relation>
>         <ejb-relation-name>Category-Resource</ejb-relation-name>
>         <relation-table-mapping>
>           <table-name>category_resource</table-name>
>         </relation-table-mapping>
>       </ejb-relation>
>
> -dain
>
>


_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to