Ok. Think for a second.  You told the system that you have related entities and then gave it no where to store the relation information.  If you don't want to use foreign keys then you must use a relation-table.
 
-dain
-----Original Message-----
From: Rama Rao [mailto:[EMAIL PROTECTED]]
Sent: Saturday, January 19, 2002 12:18 PM
To: [EMAIL PROTECTED]
Subject: [JBoss-user] CMP 2.0 Foreign Key ...

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