One more CMR bug?
starco May 2, 2002 11:21 AMHello.
My application throws exception (a part from server.log):
2002-05-02 17:50:18,415 DEBUG [org.jboss.ejb.plugins.cmp.jdbc.JDBCLoadEntityCommand.BOEntityBean] Executing SQL: SELECT identity, BOAgrigationEnrollmentBean_agrregatedBOEntity_agregatedBOID, BOAgrigationEnrollmentBean_agrregatedBOEntity_businessObjectID, defId FROM BORCBO WHERE (cboId=?)
2002-05-02 17:50:18,475 ERROR [org.jboss.ejb.plugins.LogInterceptor] TransactionRolledbackException, causedBy:
java.sql.SQLException: ORA-00972: identifier is too long
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:208)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:543)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1451)
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteDescribe(TTC7Protocol.java:651)
at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:2117)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2331)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:422)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:366)
at org.jboss.resource.adapter.jdbc.local.PreparedStatementInPool.executeQuery(PreparedStatementInPool.java:862)
...
Two colum names are very strange for me:
BOAgrigationEnrollmentBean_agrregatedBOEntity_agregatedBOID and BOAgrigationEnrollmentBean_agrregatedBOEntity_businessObjectID
The table in db does not contains these colums. But JBoss thinks that they exist.
my standardjbosscmp-jdbc.xml:
...
java:/bo.ds
<datasource-mapping>Oracle9i</datasource-mapping>
<create-table>false</create-table>
<remove-table>false</remove-table>
<read-only>false</read-only>
<time-out>300</time-out>
<pk-constraint>true</pk-constraint>
<fk-constraint>false</fk-constraint>
<row-locking>false</row-locking>
<preferred-relation-mapping>foreign-key</preferred-relation-mapping>
<read-ahead>
on-load
<page-size>1000</page-size>
<eager-load-group>*</eager-load-group>
</read-ahead>
<list-cache-max>1000</list-cache-max>
...
my ejb-jar.xml
....
<display-name>BOEntityBean</display-name>
<ejb-name>BOEntityBean</ejb-name>
<local-home>de.dts.businessobject.registry.impl.BOEntityLocalHome</local-home>
de.dts.businessobject.registry.impl.BOEntityLocal
<ejb-class>de.dts.businessobject.registry.impl.BOEntityBean</ejb-class>
<persistence-type>Container</persistence-type>
<prim-key-class>java.lang.Integer</prim-key-class>
False
<cmp-version>2.x</cmp-version>
<abstract-schema-name>BOEntity</abstract-schema-name>
<cmp-field>
no description
<field-name>businessObjectID</field-name>
</cmp-field>
<cmp-field>
no description
<field-name>identity</field-name>
</cmp-field>
<primkey-field>businessObjectID</primkey-field>
....
<display-name>BOAgrigationEnrollmentBean</display-name>
<ejb-name>BOAgrigationEnrollmentBean</ejb-name>
<local-home>de.dts.businessobject.registry.impl.BOAgrigationEnrollmentLocalHome</local-home>
de.dts.businessobject.registry.impl.BOAgrigationEnrollmentLocal
<ejb-class>de.dts.businessobject.registry.impl.BOAgrigationEnrollmentBean</ejb-class>
<persistence-type>Container</persistence-type>
<prim-key-class>de.dts.businessobject.registry.impl.BOAgrigationEnrollmenPk</prim-key-class>
False
<cmp-version>2.x</cmp-version>
<abstract-schema-name>BOAgrigationEnrollment</abstract-schema-name>
<cmp-field>
no description
<field-name>businessObjectID</field-name>
</cmp-field>
<cmp-field>
no description
<field-name>number</field-name>
</cmp-field>
<cmp-field>
no description
<field-name>agregatedBOIdentifier</field-name>
</cmp-field>
<cmp-field>
no description
<field-name>agregatedBOID</field-name>
</cmp-field>
<security-identity>
<use-caller-identity></use-caller-identity>
</security-identity>
....
<ejb-relation>
<ejb-relation-name>ArgregationBORelationship</ejb-relation-name>
<ejb-relationship-role>
<ejb-relationship-role-name>AgrigationRole</ejb-relationship-role-name>
One
<relationship-role-source>
<ejb-name>BOAgrigationEnrollmentBean</ejb-name>
</relationship-role-source>
<cmr-field>
<cmr-field-name>agrregatedBOEntity</cmr-field-name>
</cmr-field>
</ejb-relationship-role>
<ejb-relationship-role>
<ejb-relationship-role-name>BORole</ejb-relationship-role-name>
One
<relationship-role-source>
<ejb-name>BOEntityBean</ejb-name>
</relationship-role-source>
</ejb-relationship-role>
</ejb-relation>
....
me jbosscmp-jdbc.jar:
...
<ejb-name>BOAgrigationEnrollmentBean</ejb-name>
<table-name>BorAgrigation</table-name>
<cmp-field>
<field-name>businessObjectID</field-name>
<column-name>cboId</column-name>
</cmp-field>
<cmp-field>
<field-name>number</field-name>
<column-name>agrNumber</column-name>
</cmp-field>
<cmp-field>
<field-name>agregatedBOIdentifier</field-name>
<column-name>agrIdentifier</column-name>
</cmp-field>
<cmp-field>
<field-name>agregatedBOID</field-name>
<column-name>agrigatedCboId</column-name>
</cmp-field>
...
<ejb-name>BOEntityBean</ejb-name>
<table-name>BorCbo</table-name>
<cmp-field>
<field-name>identity</field-name>
<column-name>identity</column-name>
</cmp-field>
<cmp-field>
<field-name>businessObjectID</field-name>
<column-name>cboId</column-name>
</cmp-field>
...
<ejb-relation>
<ejb-relation-name>ArgregationBORelationship</ejb-relation-name>
<foreign-key-mapping/>
<ejb-relationship-role>
<ejb-relationship-role-name>BORole</ejb-relationship-role-name>
<key-fields>
<key-field>
<field-name>businessObjectID</field-name>
<column-name>agrigatedCboId</column-name>
</key-field>
</key-fields>
</ejb-relationship-role>
<ejb-relationship-role>
<ejb-relationship-role-name>AgrigationRole</ejb-relationship-role-name>
</ejb-relationship-role>
</ejb-relation>
....
Can anybody help me?
Thanks in advance.
P.S. my null topic contains the xmls.