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