You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by ht...@apache.org on 2014/12/11 23:03:21 UTC

svn commit: r1644778 - in /openjpa/branches/2.2.x: ./ openjpa-kernel/src/main/java/org/apache/openjpa/meta/ openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/query/xml/ openjpa-persistence-jdbc/src/test/resources/META-INF/

Author: hthomann
Date: Thu Dec 11 22:03:20 2014
New Revision: 1644778

URL: http://svn.apache.org/r1644778
Log:
OPENJPA-2533: Table name defined in XML mapping file is not used when executing a named query.  Back ported to 2.2.x Rick Curtis' trunk commit.

Added:
    openjpa/branches/2.2.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/query/xml/
      - copied from r1632647, openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/query/xml/
    openjpa/branches/2.2.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/query/xml/TableNameInXmlEntity.java
      - copied unchanged from r1632647, openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/query/xml/TableNameInXmlEntity.java
    openjpa/branches/2.2.x/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/query/xml/TestTableNameInXml.java
      - copied unchanged from r1632647, openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/query/xml/TestTableNameInXml.java
    openjpa/branches/2.2.x/openjpa-persistence-jdbc/src/test/resources/META-INF/table-orm.xml
      - copied unchanged from r1632647, openjpa/trunk/openjpa-persistence-jdbc/src/test/resources/META-INF/table-orm.xml
Modified:
    openjpa/branches/2.2.x/   (props changed)
    openjpa/branches/2.2.x/openjpa-kernel/src/main/java/org/apache/openjpa/meta/MetaDataRepository.java
    openjpa/branches/2.2.x/openjpa-persistence-jdbc/src/test/resources/META-INF/persistence.xml

Propchange: openjpa/branches/2.2.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Dec 11 22:03:20 2014
@@ -2,4 +2,4 @@
 /openjpa/branches/2.0.x:1484136,1484287,1504611
 /openjpa/branches/2.1.x:1415379,1415398,1469090,1469949,1484300,1484313,1485010,1505837,1513249,1517838,1529241,1530146,1533218,1533280,1539188,1569528,1575444,1591536,1614935,1636464
 /openjpa/branches/2.2.1.x:1415367,1415413,1415425,1469408,1470097,1484320,1484322,1491895,1504719,1529267,1529340,1530347,1531176,1533222,1539193,1584153
-/openjpa/trunk:1416742,1420324,1430117,1431649,1436957,1436960,1448662,1448796,1451369,1456574,1456614,1459091,1461833,1469646,1469649,1469652,1504282,1600682,1600757,1626287
+/openjpa/trunk:1416742,1420324,1430117,1431649,1436957,1436960,1448662,1448796,1451369,1456574,1456614,1459091,1461833,1469646,1469649,1469652,1504282,1600682,1600757,1626287,1632647

Modified: openjpa/branches/2.2.x/openjpa-kernel/src/main/java/org/apache/openjpa/meta/MetaDataRepository.java
URL: http://svn.apache.org/viewvc/openjpa/branches/2.2.x/openjpa-kernel/src/main/java/org/apache/openjpa/meta/MetaDataRepository.java?rev=1644778&r1=1644777&r2=1644778&view=diff
==============================================================================
--- openjpa/branches/2.2.x/openjpa-kernel/src/main/java/org/apache/openjpa/meta/MetaDataRepository.java (original)
+++ openjpa/branches/2.2.x/openjpa-kernel/src/main/java/org/apache/openjpa/meta/MetaDataRepository.java Thu Dec 11 22:03:20 2014
@@ -1999,17 +1999,16 @@ public class MetaDataRepository implemen
     private QueryMetaData getQueryMetaDataInternal(Class<?> cls, String name, ClassLoader envLoader) {
         if (name == null)
             return null;
-        QueryMetaData qm = null;
-        if (cls == null) {
-            qm = searchQueryMetaDataByName(name);
-            if (qm != null)
-                return qm;
-        }
+
         // check cache
-        qm = (QueryMetaData) _queries.get(name);
+        QueryMetaData qm = (QueryMetaData) _queries.get(name);
         if (qm != null)
             return qm;
 
+        // see if factory can figure out a scope for this query
+        if (cls == null)
+            cls = _factory.getQueryScope(name, envLoader);
+        
         // get metadata for class, which will find queries in metadata file
         if (cls != null && getMetaData(cls, envLoader, false) != null) {
             qm = _queries.get(name);
@@ -2018,13 +2017,9 @@ public class MetaDataRepository implemen
         }
         if ((_sourceMode & MODE_QUERY) == 0)
             return null;
-
-        // see if factory can figure out a scope for this query
-        if (cls == null)
-            cls = _factory.getQueryScope(name, envLoader);
-
+        
         // not in cache; load
-        _factory.load(cls, MODE_QUERY, envLoader);
+        _factory.load(cls, MODE_QUERY , envLoader);
         return _queries.get(name);
     }
 

Modified: openjpa/branches/2.2.x/openjpa-persistence-jdbc/src/test/resources/META-INF/persistence.xml
URL: http://svn.apache.org/viewvc/openjpa/branches/2.2.x/openjpa-persistence-jdbc/src/test/resources/META-INF/persistence.xml?rev=1644778&r1=1644777&r2=1644778&view=diff
==============================================================================
--- openjpa/branches/2.2.x/openjpa-persistence-jdbc/src/test/resources/META-INF/persistence.xml (original)
+++ openjpa/branches/2.2.x/openjpa-persistence-jdbc/src/test/resources/META-INF/persistence.xml Thu Dec 11 22:03:20 2014
@@ -471,9 +471,15 @@
                 value="buildSchema(ForeignKeys=true)"/>
                 
     </properties>
-        
-    </persistence-unit>      
+  </persistence-unit>
 
+  <persistence-unit name="TableNameInXml-PU" transaction-type="RESOURCE_LOCAL">
+       	<mapping-file>META-INF/table-orm.xml</mapping-file>
+       	<properties>
+       		<property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)" />
+       	</properties>
+  </persistence-unit>      
+    
     <persistence-unit name="TestPUDefaultCascadePersist" transaction-type="RESOURCE_LOCAL">
         <!--  <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider> -->
         <mapping-file>META-INF/cascade-persist.xml</mapping-file>