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