Author: ppoddar
Date: Mon Aug 25 09:57:06 2008
New Revision: 688777
URL: http://svn.apache.org/viewvc?rev=688777&view=rev
Log:
Check for field inclusion in fetch group based on names of both decalring and
defining class as owner.
Modified:
openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/FetchConfigurationImpl.java
openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/FieldMetaData.java
Modified:
openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/FetchConfigurationImpl.java
URL:
http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/FetchConfigurationImpl.java?rev=688777&r1=688776&r2=688777&view=diff
==============================================================================
---
openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/FetchConfigurationImpl.java
(original)
+++
openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/FetchConfigurationImpl.java
Mon Aug 25 09:57:06 2008
@@ -574,14 +574,14 @@
clone._fromField = fm.getFullName(false);
clone._fromType = type;
clone._availableRecursion = getAvailableRecursionDepth(fm, type, true);
- if (StringUtils.equals(_directRelationOwner, fm.getFullName()))
+ if (StringUtils.equals(_directRelationOwner, fm.getFullName(false)))
clone._load = false;
else
clone._load = _load;
FieldMetaData owner = fm.getMappedByMetaData();
if (owner != null && owner.getTypeCode() == JavaTypes.PC)
- clone._directRelationOwner = owner.getFullName();
+ clone._directRelationOwner = owner.getFullName(false);
return clone;
}
@@ -593,7 +593,8 @@
if (hasFetchGroupAll()
|| (fmd.isInDefaultFetchGroup()
&& hasFetchGroupDefault())
- || hasField(fmd.getFullName(false)))
+ || hasField(fmd.getFullName(false))
+ || hasField(fmd.getRealName()))
return true;
String[] fgs = fmd.getCustomFetchGroups();
for (int i = 0; i < fgs.length; i++)
Modified:
openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/FieldMetaData.java
URL:
http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/FieldMetaData.java?rev=688777&r1=688776&r2=688777&view=diff
==============================================================================
---
openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/FieldMetaData.java
(original)
+++
openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/FieldMetaData.java
Mon Aug 25 09:57:06 2008
@@ -350,6 +350,13 @@
}
/**
+ * The field name, qualified by the defining class.
+ */
+ public String getRealName() {
+ return getDefiningMetaData().getDescribedType().getName() + "." +
_name;
+ }
+
+ /**
* MetaData about the field value.
*/
public ValueMetaData getValue() {