Hi All,
Can i have a uni directional one to many relation ship defined between two tables, who does not have
any foreign key relation ship between them? When i try to do such a thing JBoss is giving NullPointerException while
creating the tables.
Here is my deployment descriptors
ejb-jar.xml
----------------
 <relationships>
     <ejb-relation>
 <ejb-relation-name>Orderr-OrderLine</ejb-relation-name>
 <ejb-relationship-role>
 <ejb-relationship-role-name>Orderr-has-OrderLine</ejb-relationship-role-name>
 <multiplicity>One</multiplicity>
 <role-source>
 <ejb-name>Orderr</ejb-name>
 </role-source>
 <relationship-role-source>
  <ejb-name>Orderr</ejb-name>
 </relationship-role-source>
 </ejb-relationship-role>
 
 <ejb-relationship-role>
 <ejb-relationship-role-name>OrderLine-belongs-Orderr</ejb-relationship-role-name>
 <multiplicity>Many</multiplicity>
 <relationship-role-source>
  <ejb-name>OrderLine</ejb-name>
 </relationship-role-source>
 <cmr-field>
  <cmr-field-name>order</cmr-field-name>
 </cmr-field>
 </ejb-relationship-role>
 </ejb-relation>
     </relationships>
 
jbosscmp-jdbc.xml
---------------------------
  <relationships>
     <ejb-relation>
        <ejb-relation-name>Orderr-OrderLine</ejb-relation-name>
        <foreign-key-mapping>
    <ejb-relationship-role>
       <ejb-relationship-role-name>Orderr-has-OrderLine</ejb-relationship-role-name>
       <foreign-key-fields/>
    </ejb-relationship-role>
      <ejb-relationship-role>
  <ejb-relationship-role-name>OrderLine-belongs-Orderr</ejb-relationship-role-name>
   <foreign-key-fields/>
         </ejb-relationship-role>
   </foreign-key-mapping>
     </ejb-relation>
  </relationships>
 
The exception print stack trace is
 
[23:31:46,875,ContainerFactory] Could not deploy file:/F:/jboss3.0/jboss-3.0.0al
pha/deploy/Default/test.ear/
java.lang.NullPointerException
        at org.jboss.ejb.plugins.cmp.jdbc.SQLUtil.getCreateTableColumnsClause(SQ
LUtil.java:29)
        at org.jboss.ejb.plugins.cmp.jdbc.JDBCStartCommand.getRelationCreateTabl
eSQL(JDBCStartCommand.java:134)
        at org.jboss.ejb.plugins.cmp.jdbc.JDBCStartCommand.execute(JDBCStartComm
and.java:50)
        at org.jboss.ejb.plugins.cmp.CMPStoreManager.start(CMPStoreManager.java:
142)
        at org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.start(JDBCStoreManage
r.java:137)
        at org.jboss.ejb.plugins.CMPPersistenceManager.start(CMPPersistenceManag
er.java:186)
        at org.jboss.ejb.EntityContainer.start(EntityContainer.java:354)
        at org.jboss.ejb.Application.start(Application.java:206)
        at org.jboss.ejb.ContainerFactory.deploy(ContainerFactory.java:382)
        at org.jboss.ejb.ContainerFactory.deploy(ContainerFactory.java:308)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:16
28)
        at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:15
23)
        at org.jboss.deployment.J2eeDeployer.startModules(J2eeDeployer.java:467)
 
        at org.jboss.deployment.J2eeDeployer.startApplication(J2eeDeployer.java:
444)
        at org.jboss.deployment.J2eeDeployer.deploy(J2eeDeployer.java:215)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:16
28)
        at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:15
23)
        at org.jboss.deployment.AutoDeployer.deploy(AutoDeployer.java:654)
        at org.jboss.deployment.AutoDeployer.run(AutoDeployer.java:327)
        at java.lang.Thread.run(Unknown Source)
[23:31:49,531,J2eeDeployer#Default] Starting test.ear failed!
javax.management.MBeanException: Exception thrown in operation deploy
        at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:16
44)
        at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:15
23)
        at org.jboss.deployment.J2eeDeployer.startModules(J2eeDeployer.java:467)
 
        at org.jboss.deployment.J2eeDeployer.startApplication(J2eeDeployer.java:
444)
        at org.jboss.deployment.J2eeDeployer.deploy(J2eeDeployer.java:215)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:16
28)
        at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:15
23)
        at org.jboss.deployment.AutoDeployer.deploy(AutoDeployer.java:654)
        at org.jboss.deployment.AutoDeployer.run(AutoDeployer.java:327)
        at java.lang.Thread.run(Unknown Source)
[23:31:49,562,J2eeDeployer#Default] Module test.ear is not running
[23:31:49,562,J2eeDeployer#Default] Destroying application test.ear
[23:31:49,578,J2eeDeployer#Default] Destroyed
[23:31:49,578,AutoDeployer] Deployment failed:file:/F:/jboss3.0/jboss-3.0.0alpha
/deploy/test.ear
org.jboss.deployment.J2eeDeploymentException: Error while starting test.ear: Cou
ld not deploy file:/F:/jboss3.0/jboss-3.0.0alpha/deploy/Default/test.ear/, Cause
: org.jboss.ejb.DeploymentException: Could not deploy file:/F:/jboss3.0/jboss-3.
0.0alpha/deploy/Default/test.ear/, Cause: java.lang.NullPointerException
        at org.jboss.deployment.J2eeDeployer.startModules(J2eeDeployer.java:521)
 
        at org.jboss.deployment.J2eeDeployer.startApplication(J2eeDeployer.java:
444)
        at org.jboss.deployment.J2eeDeployer.deploy(J2eeDeployer.java:215)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:16
28)
        at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:15
23)
        at org.jboss.deployment.AutoDeployer.deploy(AutoDeployer.java:654)
        at org.jboss.deployment.AutoDeployer.run(AutoDeployer.java:327)
        at java.lang.Thread.run(Unknown Source)
I am JBoss 3.0 Alpha.
Can any body figure out what is the problem. If i assign foreign key field to the second relationship role it is
successfully created.
 
 
Thanks In Advance
Rama Rao

Reply via email to