Hi,
I'm trying to deploy ear application with EJBs on Geronimo-1.0. The same
application deploys without a problem on Geronimo-1.0M5. After
transforming dependency format and parentIds for Geronimo 1.0 release I
still got following error from the deployer:
Target TransactionBean does not have foreign key attribute
transactionid.
Bellow are some snippets from openejb-jar.xml. Do you know a reason for
this problem?
Regards, Milan.
------------------------------ entities affected --------------
<entity>
<ejb-name>TransactionBean</ejb-name>
<local-jndi-name>ejb/TransactionLocalHome</local-jndi-name>
<table-name>transactions</table-name>
<!-- table creation command -->
<!--
CREATE TABLE transactions(
transactionid INTEGER NOT NULL PRIMARY KEY,
ledgerid INTEGER NOT NULL,
date DATE,
marker VARCHAR(32))
-->
<cmp-field-mapping>
<cmp-field-name>key</cmp-field-name>
<table-column>transactionid</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>date</cmp-field-name>
<table-column>date</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>marker</cmp-field-name>
<table-column>marker</table-column>
</cmp-field-mapping>
<key-generator>
<sequence-table>
<table-name>sequences</table-name>
<sequence-name>transaction</sequence-name>
<batch-size>1</batch-size>
</sequence-table>
</key-generator>
<naming:resource-ref>
<naming:ref-name>jdbc/CoordinatorDb</naming:ref-name>
<naming:resource-link>CoordinatorDataSource</naming:resource-link>
</naming:resource-ref>
</entity>
<entity>
<ejb-name>TransactionLineBean</ejb-name>
<local-jndi-name>ejb/TransactionLineLocalHome</local-jndi-name>
<table-name>tlines</table-name>
<!-- table creation command -->
<!--
CREATE TABLE tlines (
lineid INTEGER NOT NULL PRIMARY KEY,
transactionid INTEGER NOT NULL,
accountid INTEGER NOT NULL,
side CHAR(1) DEFAULT 'C',
ammount INTEGER,
CONSTRAINT FK_TLINES_TRANSACTION FOREIGN KEY (transactionid)
REFERENCES transactions(transactionid))
-->
<cmp-field-mapping>
<cmp-field-name>key</cmp-field-name>
<table-column>lineid</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>side</cmp-field-name>
<table-column>side</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>ammount</cmp-field-name>
<table-column>ammount</table-column>
</cmp-field-mapping>
<key-generator>
<sequence-table>
<table-name>sequences</table-name>
<sequence-name>ledger</sequence-name>
<batch-size>10</batch-size>
</sequence-table>
</key-generator>
<naming:resource-ref>
<naming:ref-name>jdbc/CoordinatorDb</naming:ref-name>
<naming:resource-link>CoordinatorDataSource</naming:resource-link>
</naming:resource-ref>
</entity>
------------------ CMR causing the problem -----------------
<ejb-relation>
<ejb-relationship-role>
<relationship-role-source>
<ejb-name>TransactionBean</ejb-name>
</relationship-role-source>
<cmr-field>
<cmr-field-name>lines</cmr-field-name>
</cmr-field>
<role-mapping>
<cmr-field-mapping>
<key-column>transactionid</key-column>
<foreign-key-column>transactionid</foreign-key-column>
</cmr-field-mapping>
</role-mapping>
</ejb-relationship-role>
<ejb-relationship-role>
<relationship-role-source>
<ejb-name>TransactionLineBean</ejb-name>
</relationship-role-source>
<cmr-field>
<cmr-field-name>transaction</cmr-field-name>
</cmr-field>
<foreign-key-column-on-source/>
<role-mapping>
<cmr-field-mapping>
<key-column>transactionid</key-column>
!!!!!!!!<foreign-key-column>transactionid</foreign-key-column>
<-----------this is attribute mentioned in error message !!!!!!!!!
</cmr-field-mapping>
</role-mapping>
</ejb-relationship-role>
</ejb-relation>