You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by fa...@apache.org on 2009/12/02 06:45:56 UTC
svn commit: r886055 - in /openjpa/trunk:
openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/RelationFieldStrategy.java
openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/enhance/identity/TestMappedById.java
Author: faywang
Date: Wed Dec 2 05:45:56 2009
New Revision: 886055
URL: http://svn.apache.org/viewvc?rev=886055&view=rev
Log:
OPENJPA-931: derived identity support
Modified:
openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/RelationFieldStrategy.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/enhance/identity/TestMappedById.java
Modified: openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/RelationFieldStrategy.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/RelationFieldStrategy.java?rev=886055&r1=886054&r2=886055&view=diff
==============================================================================
--- openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/RelationFieldStrategy.java (original)
+++ openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/strats/RelationFieldStrategy.java Wed Dec 2 05:45:56 2009
@@ -996,7 +996,7 @@
ClassMapping relmapping = field.getTypeMapping();
Joinable j = field.getTypeMapping().assertJoinable(col);
- if (ImplHelper.isManageable(fieldVal))
+ if (ImplHelper.isManageable(fieldVal) && !field.getDefiningMetaData().useIdClassFromParent())
fieldVal = store.getContext().getObjectId(fieldVal);
if (fieldVal instanceof OpenJPAId)
fieldVal = ((OpenJPAId) fieldVal).getIdObject();
Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/enhance/identity/TestMappedById.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/enhance/identity/TestMappedById.java?rev=886055&r1=886054&r2=886055&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/enhance/identity/TestMappedById.java (original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/enhance/identity/TestMappedById.java Wed Dec 2 05:45:56 2009
@@ -605,6 +605,11 @@
Person3 p0 = persons3.get("f_1");
Person3 p1 = p.getMedical().getPatient();
assertEquals(p, p1);
+ em.clear();
+
+ MedicalHistory3 m = em.find(MedicalHistory3.class, new PersonId3("f_1", "l_1"));
+ MedicalHistory3 m0 = medicals3.get("f_1");
+ assertEquals(m, m0);
}
public void queryObj6() {
@@ -665,6 +670,11 @@
Person4 p0 = persons4.get("f_1");
Person4 p1 = p.getMedical().getPatient();
assertEquals(p1, p);
+ em.clear();
+
+ MedicalHistory4 m = em.find(MedicalHistory4.class, new PersonId4("f_1", "l_1"));
+ MedicalHistory4 m0 = medicals4.get("f_1");
+ assertEquals(m, m0);
}
public void queryObj7() {