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>