You need to interchange key-fields for ejb-relationship-role's in
jbosscmp-jdbc.xml.

I.e.
<ejb-relationship-role-name>Role-Belongs-To-User</ejb-relationship-role-name>
   <key-fields>
      <key-field>
         <field-name>roles</field-name>
         <column-name>role_name</column-name>
      </key-field>
   </key-fields>
...

alex

Wednesday, July 31, 2002, 1:45:57 AM, you wrote:

PL> How do you change the column names for a table generated by a MANY-to-MANY
PL> CMR?

PL> Here's an example of what i've tried:

PL> ejb-jar.xml:

PL> <ejb-relation>
PL>             <ejb-relation-name>User-Roles</ejb-relation-name>
PL>             <ejb-relationship-role>
PL>                 
<ejb-relationship-role-name>User-has-multiple-Roles</ejb-relationship-role-name>
PL>                 <multiplicity>Many</multiplicity>
PL>                 <relationship-role-source>
PL>                     <ejb-name>Users</ejb-name>
PL>                 </relationship-role-source>
PL>                 <cmr-field>
PL>                     <cmr-field-name>roles</cmr-field-name>
PL>                     <cmr-field-type>java.util.Set</cmr-field-type>
PL>                 </cmr-field>
PL>             </ejb-relationship-role>
PL>             <ejb-relationship-role>
PL>                 
<ejb-relationship-role-name>Role-Belongs-To-User</ejb-relationship-role-name>
PL>                 <multiplicity>Many</multiplicity>
PL>                 <relationship-role-source>
PL>                     <ejb-name>Roles</ejb-name>
PL>                 </relationship-role-source>
PL>                 <cmr-field>
PL>                     <cmr-field-name>users</cmr-field-name>
PL>                     <cmr-field-type>java.util.Set</cmr-field-type>
PL>                 </cmr-field>
PL>             </ejb-relationship-role>
PL>         </ejb-relation>

PL> My understanding of how to do this is via this entry in jbosscmp-jdbc.xml:

PL> <ejb-relation>
PL>             <ejb-relation-name>User-Roles</ejb-relation-name>
PL>             <relation-table-mapping>
PL>                 <table-name>User_Role</table-name>
PL>             </relation-table-mapping>

PL>             <ejb-relationship-role>
PL>                 
<ejb-relationship-role-name>Role-Belongs-To-User</ejb-relationship-role-name>
PL>                 <key-fields>
PL>                     <key-field>
PL>                         <field-name>users</field-name>
PL>                         <column-name>user_name</column-name>
PL>                     </key-field>
PL>                 </key-fields>
PL>             </ejb-relationship-role>
PL>             <ejb-relationship-role>
PL>                 
<ejb-relationship-role-name>User-has-multiple-Roles</ejb-relationship-role-name>
PL>                 <key-fields>
PL>                     <key-field>
PL>                         <field-name>roles</field-name>
PL>                         <column-name>role_name</column-name>
PL>                     </key-field>
PL>                 </key-fields>
PL>             </ejb-relationship-role>
PL>         </ejb-relation>


PL> But the problem is that jboss complains ~ It doesn't seam to be able to
PL> locate the "users" or "roles" field-name's that i've declared. Here's the
PL> summary error:
PL> [ObjectName: jboss.j2ee:service=EJB,jndiName=myBEAN
PL>  state: FAILED
PL>  I Depend On:
PL>  Depends On Me: org.jboss.deployment.DeploymentException: CMP field for
PL> key not found: field name=roles, ObjectName:
PL> jboss.j2ee:service=EJB,jndiName=myBEAN

PL> with the following exception:

PL> 17:34:33,434 WARN  [ServiceController] Problem starting service
PL> jboss.j2ee:service=EJB,jndiName=myBEAN
PL> org.jboss.deployment.DeploymentException: CMP field for key not found:
PL> field name=roles
PL>         at
PL> 
org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCRelationshipRoleMetaData.loadKeyFields(JDBCRe
PL> lationshipRoleMetaData.java:374)
PL>         at
PL> 
org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCRelationshipRoleMetaData.init(JDBCRelationshi
PL> pRoleMetaData.java:157)
PL>         at
PL> 
org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCRelationMetaData.<init>(JDBCRelationMetaData.
PL> java:308)
PL>         at
PL> 
org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCApplicationMetaData.<init>(JDBCApplicationMet
PL> aData.java:383)
PL>         at
PL> 
org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCXmlFileLoader.load(JDBCXmlFileLoader.java:75)

PL>         at
PL> 
org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.loadJDBCEntityMetaData(JDBCStoreManager.j
PL> ava:677)
PL>         at
PL> 
org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.initStoreManager(JDBCStoreManager.java:38
PL> 9)
PL>         at
PL> org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.start(JDBCStoreManager.java:339)
PL>         at
PL> org.jboss.ejb.plugins.CMPPersistenceManager.start(CMPPersistenceManager.java:198)
PL>         at org.jboss.ejb.EntityContainer.start(EntityContainer.java:376)
PL>         at org.jboss.ejb.Container.invoke(Container.java:793)
PL>         at org.jboss.ejb.EntityContainer.invoke(EntityContainer.java:1055)
PL>         at
PL> org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:491)
PL>         at
PL> org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:950)
PL>         at $Proxy6.start(Unknown Source)
PL>         at
PL> org.jboss.system.ServiceController.start(ServiceController.java:384)
PL>         at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
PL>         at
PL> 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
PL>         at java.lang.reflect.Method.invoke(Method.java:324)
PL>         at
PL> 
org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284
PL> )
PL>         at
PL> org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:491)
PL>         at org.jboss.util.jmx.MBeanProxy.invoke(MBeanProxy.java:174)
PL>         at $Proxy224.start(Unknown Source)
PL>         at org.jboss.ejb.EjbModule.startService(EjbModule.java:440)
PL>         at
PL> org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:164)
PL>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
PL>         at
PL> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
PL>         at
PL> 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
PL>         at java.lang.reflect.Method.invoke(Method.java:324)
PL>         at
PL> 
org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284
PL> )
PL>         at
PL> org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:491)
PL>         at
PL> org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:950)
PL>         at $Proxy6.start(Unknown Source)
PL>         at
PL> org.jboss.system.ServiceController.start(ServiceController.java:384)
PL>         at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
PL>         at
PL> 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
PL>         at java.lang.reflect.Method.invoke(Method.java:324)
PL>         at
PL> 
org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284
PL> )
PL>         at
PL> org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:491)
PL>         at org.jboss.util.jmx.MBeanProxy.invoke(MBeanProxy.java:174)
PL>         at $Proxy5.start(Unknown Source)
PL>         at org.jboss.ejb.EJBDeployer.start(EJBDeployer.java:397)
PL>         at org.jboss.deployment.MainDeployer.start(MainDeployer.java:786)
PL>         at org.jboss.deployment.MainDeployer.start(MainDeployer.java:779)
PL>         at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:615)
PL>         at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:581)
PL>         at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
PL>         at
PL> 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
PL>         at java.lang.reflect.Method.invoke(Method.java:324)
PL>         at
PL> 
org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284
PL> )
PL>         at
PL> org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:491)
PL>         at org.jboss.util.jmx.MBeanProxy.invoke(MBeanProxy.java:174)
PL>         at $Proxy4.deploy(Unknown Source)
PL>         at
PL> 
org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:412)
PL>         at
PL> 
org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:530)
PL>         at
PL> 
org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploym
PL> entScanner.java:202)
PL>         at
PL> 
org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeployme
PL> ntScanner.java:191)

PL> With the <ejb-relationship-role> elements commented out of the
PL> jbosscmp-jdbc.xml, it works fine. It generates a table called USER_ROLE
PL> with these 2 columns: USERS and ROLES, which my dbas can't seam to handle.


PL> Does anyone know how to solve this?

PL> thanks.
PL> ..peter




PL> -------------------------------------------------------
PL> This sf.net email is sponsored by: Dice - The leading online job board
PL> for high-tech professionals. Search and apply for tech jobs today!
PL> http://seeker.dice.com/seeker.epl?rel_code=31
PL> _______________________________________________
PL> JBoss-user mailing list
PL> [EMAIL PROTECTED]
PL> https://lists.sourceforge.net/lists/listinfo/jboss-user

-- 
Best regards,
 Alex Loubyansky




-------------------------------------------------------
This sf.net email is sponsored by: Dice - The leading online job board
for high-tech professionals. Search and apply for tech jobs today!
http://seeker.dice.com/seeker.epl?rel_code=31
_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to