When you have a one-to-many relationship, you only need mapping
information for one ejb-relationship-role in your openejb-jar.xml.
I'm not sure if that's causing the problem, but can you remove one of
the two and try that? See example 12.8 at
http://chariotsolutions.com/geronimo/ejb-structure.html#id2612837
Thanks,
Aaron
On 1/27/06, Milan Unger <[EMAIL PROTECTED]> wrote:
> 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>
>
>