gdamour 2005/05/17 11:49:38
Modified: modules/openejb-builder/src/test-cmp/onetomany/compoundpk
cascade-delete-ejb-jar.xml ejb-jar.xml
openejb-jar.xml
Log:
Support mapping of CMP fields to foreign key columns.
When such a CMP field is fetched, the engine actually sources the value
from the CMR field defining the foreign key column. In other words, the
values of such CMP fields always mirror the values of the associated CMR
field.
Also, the implementation does not allow for the update of such CMP fields
as its breaks the CMR relationship contract.
Revision Changes Path
1.2 +6 -0
openejb/modules/openejb-builder/src/test-cmp/onetomany/compoundpk/cascade-delete-ejb-jar.xml
Index: cascade-delete-ejb-jar.xml
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/openejb-builder/src/test-cmp/onetomany/compoundpk/cascade-delete-ejb-jar.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- cascade-delete-ejb-jar.xml 11 Nov 2004 13:27:45 -0000 1.1
+++ cascade-delete-ejb-jar.xml 17 May 2005 15:49:38 -0000 1.2
@@ -38,6 +38,12 @@
<cmp-field>
<field-name>field2</field-name>
</cmp-field>
+ <cmp-field>
+ <field-name>field3</field-name>
+ </cmp-field>
+ <cmp-field>
+ <field-name>field4</field-name>
+ </cmp-field>
<primkey-field>field1</primkey-field>
</entity>
</enterprise-beans>
1.2 +7 -2
openejb/modules/openejb-builder/src/test-cmp/onetomany/compoundpk/ejb-jar.xml
Index: ejb-jar.xml
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/openejb-builder/src/test-cmp/onetomany/compoundpk/ejb-jar.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ejb-jar.xml 10 Nov 2004 01:35:13 -0000 1.1
+++ ejb-jar.xml 17 May 2005 15:49:38 -0000 1.2
@@ -29,7 +29,7 @@
<local>org.openejb.deployment.entity.cmp.cmr.onetomany.BLocal</local>
<ejb-class>org.openejb.deployment.entity.cmp.cmr.onetomany.BBean</ejb-class>
<persistence-type>Container</persistence-type>
- <prim-key-class>java.lang.Integer</prim-key-class>
+
<prim-key-class>org.openejb.deployment.entity.cmp.cmr.CompoundPK</prim-key-class>
<cmp-version>2.x</cmp-version>
<abstract-schema-name>onetomanyB</abstract-schema-name>
<cmp-field>
@@ -38,7 +38,12 @@
<cmp-field>
<field-name>field2</field-name>
</cmp-field>
- <primkey-field>field1</primkey-field>
+ <cmp-field>
+ <field-name>field3</field-name>
+ </cmp-field>
+ <cmp-field>
+ <field-name>field4</field-name>
+ </cmp-field>
</entity>
</enterprise-beans>
<relationships>
1.2 +8 -0
openejb/modules/openejb-builder/src/test-cmp/onetomany/compoundpk/openejb-jar.xml
Index: openejb-jar.xml
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/openejb-builder/src/test-cmp/onetomany/compoundpk/openejb-jar.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- openejb-jar.xml 10 Nov 2004 01:35:13 -0000 1.1
+++ openejb-jar.xml 17 May 2005 15:49:38 -0000 1.2
@@ -35,6 +35,14 @@
<cmp-field-name>field2</cmp-field-name>
<table-column>b2</table-column>
</cmp-field-mapping>
+ <cmp-field-mapping>
+ <cmp-field-name>field3</cmp-field-name>
+ <table-column>fka1</table-column>
+ </cmp-field-mapping>
+ <cmp-field-mapping>
+ <cmp-field-name>field4</cmp-field-name>
+ <table-column>fka2</table-column>
+ </cmp-field-mapping>
</entity>
</enterprise-beans>