You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2007/12/22 18:30:33 UTC

svn commit: r606469 - in /cayenne/main/trunk/framework/cayenne-jpa-unpublished/src/main/java/org/apache/cayenne/jpa: bridge/DataMapConverter.java map/JpaAttributes.java

Author: aadamchik
Date: Sat Dec 22 09:30:28 2007
New Revision: 606469

URL: http://svn.apache.org/viewvc?rev=606469&view=rev
Log:
JPA: fixing target id resolving

Modified:
    cayenne/main/trunk/framework/cayenne-jpa-unpublished/src/main/java/org/apache/cayenne/jpa/bridge/DataMapConverter.java
    cayenne/main/trunk/framework/cayenne-jpa-unpublished/src/main/java/org/apache/cayenne/jpa/map/JpaAttributes.java

Modified: cayenne/main/trunk/framework/cayenne-jpa-unpublished/src/main/java/org/apache/cayenne/jpa/bridge/DataMapConverter.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jpa-unpublished/src/main/java/org/apache/cayenne/jpa/bridge/DataMapConverter.java?rev=606469&r1=606468&r2=606469&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jpa-unpublished/src/main/java/org/apache/cayenne/jpa/bridge/DataMapConverter.java (original)
+++ cayenne/main/trunk/framework/cayenne-jpa-unpublished/src/main/java/org/apache/cayenne/jpa/bridge/DataMapConverter.java Sat Dec 22 09:30:28 2007
@@ -524,7 +524,7 @@
             JpaRelationship jpaRelationship = (JpaRelationship) path.getObjectParent();
             JpaEntity targetEntity = context.getEntityMap().entityForClass(
                     jpaRelationship.getTargetEntityName());
-            JpaId jpaTargetId = targetEntity.getAttributes().getId(
+            JpaId jpaTargetId = targetEntity.getAttributes().getIdForColumnName(
                     jpaJoin.getReferencedColumnName());
 
             if (jpaTargetId == null) {

Modified: cayenne/main/trunk/framework/cayenne-jpa-unpublished/src/main/java/org/apache/cayenne/jpa/map/JpaAttributes.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jpa-unpublished/src/main/java/org/apache/cayenne/jpa/map/JpaAttributes.java?rev=606469&r1=606468&r2=606469&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jpa-unpublished/src/main/java/org/apache/cayenne/jpa/map/JpaAttributes.java (original)
+++ cayenne/main/trunk/framework/cayenne-jpa-unpublished/src/main/java/org/apache/cayenne/jpa/map/JpaAttributes.java Sat Dec 22 09:30:28 2007
@@ -211,6 +211,24 @@
         return null;
     }
 
+    public JpaId getIdForColumnName(String idColumnName) {
+        if (idColumnName == null) {
+            throw new IllegalArgumentException("Null id column name");
+        }
+
+        if (ids != null) {
+            for (JpaId id : ids) {
+
+                if (id.getColumn() != null
+                        && idColumnName.equals(id.getColumn().getName())) {
+                    return id;
+                }
+            }
+        }
+
+        return null;
+    }
+
     /**
      * Returns a JpaAttribute for a given property name
      */