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-relationship-role-na
> me>
>           <key-fields/>
>       </ejb-relationship-role>
>       <ejb-relationship-role>
> 
> <ejb-relationship-role-name>resource-belongs-categories</ejb-relationship-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-relationship-role-na
> me>
>           <key-fields/>
>       </ejb-relationship-role>
>       <ejb-relationship-role>
> 
> <ejb-relationship-role-name>resource-belongs-categories</ejb-relationship-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-relationship-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-relationship-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