Hi,
I am trying to deploy and existing web application from Weblogic to JBoss. I
am now able to successfully deploy and run the main application, however when I
try to do a save function, I get errors like this:
15:24:33,806 ERROR [AuftragDO] Could not create entity
| java.sql.SQLException: ORA-01400: cannot insert NULL into
("KSO_ANTGODE"."T_EC_AUFTRAG"."EKU_ID")
| ORA-06512: at line 1
|
| at
oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
| at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
| at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
| at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
| at
oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:215)
| at
oracle.jdbc.driver.T4CCallableStatement.executeForRows(T4CCallableStatement.java:954)
| at
oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1168)
| at
oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3285)
| at
oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3390)
| at
oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:4223)
| at
org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.execute(WrappedPreparedStatement.java:183)
| at
org.jboss.ejb.plugins.cmp.jdbc.keygen.JDBCOracleCreateCommand.executeInsert(JDBCOracleCreateCommand.java:83)
| at
org.jboss.ejb.plugins.cmp.jdbc.JDBCAbstractCreateCommand.performInsert(JDBCAbstractCreateCommand.java:308)
| at
org.jboss.ejb.plugins.cmp.jdbc.JDBCAbstractCreateCommand.execute(JDBCAbstractCreateCommand.java:138)
| at
org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.createEntity(JDBCStoreManager.java:572)
| at
org.jboss.ejb.plugins.CMPPersistenceManager.createEntity(CMPPersistenceManager.java:222)
| at
org.jboss.resource.connectionmanager.CachedConnectionInterceptor.createEntity(CachedConnectionInterceptor.java:219)
| at org.jboss.ejb.EntityContainer.createLocalHome(EntityContainer.java:612)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
| at java.lang.reflect.Method.invoke(Unknown Source)
I have searched and tried possible solutions, either in the deployment
descriptor or in the code, but of no luck.
I am wondering if this has to do with the CMP/CMR fields I am using, in the
above error, I always get a null for the foreign key - EKU_ID and it states
that I cannot insert NULL.
Any idea how can I solve this?
Attached also is my ejb-jar.xml and jbosscmp-jdbc.xml..
ejb-jar.xml
<?xml version="1.0"?>
| <!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise
JavaBeans 2.0//EN' 'http://java.sun.com/j2ee/dtds/ejb-jar_2_0.dtd'>
| <ejb-jar>
| <entity>
| <ejb-name>KundeDo</ejb-name>
|
<local-home>de.dbsystems.spi.kso.dbo.kunde.KundeDoLocalHome</local-home>
| <local>de.dbsystems.spi.kso.dbo.kunde.KundeDoLocal</local>
| <ejb-class>de.dbsystems.spi.kso.dbo.kunde.KundeDoEB</ejb-class>
| <persistence-type>Container</persistence-type>
| <prim-key-class>java.lang.Long</prim-key-class>
| <reentrant>False</reentrant>
| <cmp-version>2.x</cmp-version>
| <abstract-schema-name>KundeDo</abstract-schema-name>
| <cmp-field>
| <field-name>id</field-name>
| </cmp-field>
| <cmp-field>
| <field-name>eDIPasswort</field-name>
| </cmp-field>
| <cmp-field>
| <field-name>eDIProvider</field-name>
| </cmp-field>
| <cmp-field>
| <field-name>eingangsbestaetigung</field-name>
| </cmp-field>
| <cmp-field>
| <field-name>partnerBvwNr</field-name>
| </cmp-field>
| <cmp-field>
| <field-name>partnerId</field-name>
| </cmp-field>
| <cmp-field>
| <field-name>partnerStandort</field-name>
| </cmp-field>
| <cmp-field>
| <field-name>user</field-name>
| </cmp-field>
| <cmp-field>
| <field-name>timestamp</field-name>
| </cmp-field>
| <primkey-field>id</primkey-field>
| <query>
| <query-method>
| <method-name>findAllKunden</method-name>
| <method-params></method-params>
| </query-method>
| <ejb-ql>
| <![CDATA[SELECT OBJECT(obj) FROM KundeDo AS obj]]>
| </ejb-ql>
| </query>
| <query>
| <query-method>
| <method-name>findByStandortname</method-name>
| <method-params>
| <method-param>java.lang.String</method-param>
| </method-params>
| </query-method>
| <ejb-ql>
| <![CDATA[SELECT OBJECT(obj) FROM KundeDo AS obj WHERE
obj.partnerStandort LIKE ?1]]>
| </ejb-ql>
| </query>
| <query>
| <query-method>
| <method-name>findByStandortnummer</method-name>
| <method-params>
| <method-param>java.lang.String</method-param>
| </method-params>
| </query-method>
| <ejb-ql>
| <![CDATA[SELECT OBJECT(obj) FROM KundeDo AS obj WHERE
obj.partnerId LIKE ?1]]>
| </ejb-ql>
| </query>
| <query>
| <query-method>
| <method-name>findByEdiProvider</method-name>
| <method-params>
| <method-param>java.lang.String</method-param>
| </method-params>
| </query-method>
| <ejb-ql>
| <![CDATA[SELECT OBJECT(obj) FROM KundeDo AS obj WHERE
obj.eDIProvider LIKE ?1]]>
| </ejb-ql>
| </query>
| </entity>
| <entity>
| <ejb-name>AuftragDO</ejb-name>
|
<local-home>de.dbsystems.spi.kso.dbo.auftrag.AuftragDOLocalHome</local-home>
| <local>de.dbsystems.spi.kso.dbo.auftrag.AuftragDOLocal</local>
| <ejb-class>de.dbsystems.spi.kso.dbo.auftrag.AuftragDOEB</ejb-class>
| <persistence-type>Container</persistence-type>
| <prim-key-class>java.lang.Long</prim-key-class>
| <reentrant>False</reentrant>
| <cmp-version>2.x</cmp-version>
| <abstract-schema-name>AuftragDO</abstract-schema-name>
| <cmp-field>
| <field-name>id</field-name>
| </cmp-field>
| . . . . . .
| . . . . . .
| <cmp-field>
| <field-name>user</field-name>
| </cmp-field>
| <cmp-field>
| <field-name>timestamp</field-name>
| </cmp-field>
| <primkey-field>id</primkey-field>
| </entity>
| <relationships>
| <assembly-descriptor>
| <ejb-relation>
| <ejb-relation-name>kunde-user</ejb-relation-name>
| <ejb-relationship-role>
|
<ejb-relationship-role-name>UserDo.kunde</ejb-relationship-role-name>
| <multiplicity>Many</multiplicity>
| <relationship-role-source>
| <ejb-name>UserDo</ejb-name>
| </relationship-role-source>
| <cmr-field>
| <cmr-field-name>kunde</cmr-field-name>
| </cmr-field>
| </ejb-relationship-role>
| <ejb-relationship-role>
|
<ejb-relationship-role-name>KundeDo.users</ejb-relationship-role-name>
| <multiplicity>One</multiplicity>
| <relationship-role-source>
| <ejb-name>KundeDo</ejb-name>
| </relationship-role-source>
| <cmr-field>
| <cmr-field-name>users</cmr-field-name>
| <cmr-field-type>java.util.Collection</cmr-field-type>
| </cmr-field>
| </ejb-relationship-role>
| </ejb-relation>
| <ejb-relation>
| <ejb-relation-name>kunde-auftraege</ejb-relation-name>
| <ejb-relationship-role>
|
<ejb-relationship-role-name>AuftragDO.kunde</ejb-relationship-role-name>
| <multiplicity>Many</multiplicity>
| <relationship-role-source>
| <ejb-name>AuftragDO</ejb-name>
| </relationship-role-source>
| <cmr-field>
| <cmr-field-name>kunde</cmr-field-name>
| </cmr-field>
| </ejb-relationship-role>
| <ejb-relationship-role>
|
<ejb-relationship-role-name>KundeDo.auftraege</ejb-relationship-role-name>
| <multiplicity>One</multiplicity>
| <relationship-role-source>
| <ejb-name>KundeDo</ejb-name>
| </relationship-role-source>
| <cmr-field>
| <cmr-field-name>auftraege</cmr-field-name>
| <cmr-field-type>java.util.Collection</cmr-field-type>
| </cmr-field>
| </ejb-relationship-role>
| </ejb-relation>
| <container-transaction>
| <method>
| <ejb-name>KundeDo</ejb-name>
| <method-name>*</method-name>
| </method>
| <method>
| <ejb-name>AuftragsvorlageDO</ejb-name>
| <method-name>*</method-name>
| </method>
| <method>
| <ejb-name>AuftragDO</ejb-name>
| <method-name>*</method-name>
| </method>
| </container-transaction>
| </assembly-descriptor>
| </ejb-jar>
this is my jbosscmp-jdbc.xml
<?xml version="1.0"?>
| <!DOCTYPE jbosscmp-jdbc PUBLIC "-//JBoss//DTD JBOSSCMP-JDBC 4.0//EN"
| "http://www.jboss.org/j2ee/dtd/jbosscmp-jdbc_4_0.dtd">
| <jbosscmp-jdbc>
| <defaults>
| <!-- <datasource>jdbc.kso.MainTxDatasource</datasource> -->
| <datasource>java:/XAOracleDS</datasource>
| <datasource-mapping>Oracle9i</datasource-mapping>
| <create-table>false</create-table>
| <alter-table>false</alter-table>
| <remove-table>false</remove-table>
| <read-only>false</read-only>
| </defaults>
| <enterprise-beans>
| <entity>
| <ejb-name>KundeDo</ejb-name>
| <table-name>T_EC_KUNDE</table-name>
| <cmp-field>
| <field-name>id</field-name>
| <column-name>EKU_ID</column-name>
| </cmp-field>
| <cmp-field>
| <field-name>eDIPasswort</field-name>
| <column-name>EKU_EDI_PASSWORT</column-name>
| </cmp-field>
| <cmp-field>
| <field-name>eDIProvider</field-name>
| <column-name>EKU_EDI_PROVIDER</column-name>
| </cmp-field>
| <cmp-field>
| <field-name>eingangsbestaetigung</field-name>
| <column-name>EKU_ECBEST_CD</column-name>
| </cmp-field>
| <cmp-field>
| <field-name>partnerBvwNr</field-name>
| <column-name>EKU_PTN_BVW_NR</column-name>
| </cmp-field>
| <cmp-field>
| <field-name>partnerId</field-name>
| <column-name>EKU_PTN_ID</column-name>
| </cmp-field>
| <cmp-field>
| <field-name>partnerStandort</field-name>
| <column-name>EKU_PTN_BEZEICHNUNG</column-name>
| </cmp-field>
| <cmp-field>
| <field-name>user</field-name>
| <column-name>EKU_USER_ID</column-name>
| </cmp-field>
| <cmp-field>
| <field-name>timestamp</field-name>
| <column-name>EKU_TIMESTAMP</column-name>
| </cmp-field>
| <unknown-pk>
| <unknown-pk-class>java.lang.Long</unknown-pk-class>
| <field-name>id</field-name>
| <column-name>EKU_ID</column-name>
| <jdbc-type>BIGINT</jdbc-type>
| <sql-type>NUMBER(19)</sql-type>
| <auto-increment/>
| </unknown-pk>
| <entity-command name="oracle-sequence"
class="org.jboss.ejb.plugins.cmp.jdbc.keygen.JDBCOracleCreateCommand">
| <attribute name="sequence">S_EC_KUNDE</attribute>
| </entity-command>
| <optimistic-locking>
| <modified-strategy/>
| </optimistic-locking>
| </entity>
| <entity>
| <ejb-name>AuftragDO</ejb-name>
| <table-name>T_EC_AUFTRAG</table-name>
| <cmp-field>
| <field-name>id</field-name>
| <column-name>AFT_ID</column-name>
| </cmp-field>
| . . . . . .
| . . . . . .
| <cmp-field>
| <field-name>user</field-name>
| <column-name>AFT_USER_ID</column-name>
| </cmp-field>
| <cmp-field>
| <field-name>timestamp</field-name>
| <column-name>AFT_TIMESTAMP</column-name>
| </cmp-field>
| <unknown-pk>
| <unknown-pk-class>java.lang.Long</unknown-pk-class>
| <field-name>id</field-name>
| <column-name>AFT_ID</column-name>
| <jdbc-type>BIGINT</jdbc-type>
| <sql-type>NUMBER(19)</sql-type>
| <auto-increment/>
| </unknown-pk>
| <entity-command name="oracle-sequence"
class="org.jboss.ejb.plugins.cmp.jdbc.keygen.JDBCOracleCreateCommand">
| <attribute name="sequence">S_EC_AUFTRAG</attribute>
| </entity-command>
| <optimistic-locking>
| <modified-strategy/>
| </optimistic-locking>
| </entity>
| </enterprise-beans>
| <relationships>
| <ejb-relation>
| <ejb-relation-name>kunde-auftraege</ejb-relation-name>
| <foreign-key-mapping/>
| <ejb-relationship-role>
|
<ejb-relationship-role-name>AuftragDO.kunde</ejb-relationship-role-name>
| </ejb-relationship-role>
| <ejb-relationship-role>
|
<ejb-relationship-role-name>KundeDo.auftraege</ejb-relationship-role-name>
| <key-fields>
| <key-field>
| <field-name>id</field-name>
| <column-name>EKU_ID</column-name>
| </key-field>
| </key-fields>
| </ejb-relationship-role>
| </ejb-relation>
| </relationships>
| </jbosscmp-jdbc>
I am wondering if I missed out on anything during the migration or I did
something incorrect.
Any help will be highly appreciated!
AntGod
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3929587#3929587
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3929587
-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
JBoss-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jboss-user