/** * INTERNAL: * Return if fetch group attribute. */ public boolean isFetchGroupAttribute(String attributeName) { if (getFetchGroup() == null) { //every attribute is fetched already return true; } return getFetchGroup().getAttributes().contains(attributeName); }
} else if (readQuery.getFetchGroup() != null) { String fetchGroupIdentifier = readQuery.getFetchGroup().getName() + "FetchGroup"; addFetchGroupLines(method, readQuery.getFetchGroup(), fetchGroupIdentifier); method.addLine(queryIdentifier + ".setFetchGroup(" + fetchGroupIdentifier + ");");
} else if (readQuery.getFetchGroup() != null) { String fetchGroupIdentifier = readQuery.getFetchGroup().getName() + "FetchGroup"; addFetchGroupLines(method, readQuery.getFetchGroup(), fetchGroupIdentifier); method.addLine(queryIdentifier + ".setFetchGroup(" + fetchGroupIdentifier + ");");
DatabaseQuery applyToDatabaseQuery(Object valueToApply, DatabaseQuery query, ClassLoader loader, AbstractSession activeSession) { if (query.isObjectLevelReadQuery()) { FetchGroup fetchGroup = ((ObjectLevelReadQuery)query).getFetchGroup(); if (fetchGroup == null) { fetchGroup = new FetchGroup(); ((ObjectLevelReadQuery)query).setFetchGroup(fetchGroup); } fetchGroup.setShouldLoadAll((Boolean)valueToApply); } else { throw new IllegalArgumentException(ExceptionLocalization.buildMessage("ejb30-wrong-type-for-query-hint",new Object[]{getQueryId(query), name, getPrintValue(valueToApply)})); } return query; } }
} else if (readQuery.getFetchGroup() != null) { String fetchGroupIdentifier = readQuery.getFetchGroup().getName() + "FetchGroup"; addFetchGroupLines(method, readQuery.getFetchGroup(), fetchGroupIdentifier); method.addLine(queryIdentifier + ".setFetchGroup(" + fetchGroupIdentifier + ");");
DatabaseQuery applyToDatabaseQuery(Object valueToApply, DatabaseQuery query, ClassLoader loader, AbstractSession activeSession) { if (query.isObjectLevelReadQuery()) { FetchGroup fetchGroup = ((ObjectLevelReadQuery)query).getFetchGroup(); if (fetchGroup == null) { fetchGroup = new FetchGroup(); ((ObjectLevelReadQuery)query).setFetchGroup(fetchGroup); } fetchGroup.addAttribute((String)valueToApply); } else { throw new IllegalArgumentException(ExceptionLocalization.buildMessage("ejb30-wrong-type-for-query-hint",new Object[]{getQueryId(query), name, getPrintValue(valueToApply)})); } return query; } }
if ((!this.descriptor.hasFetchGroupManager()) && ((getFetchGroup() != null) || (getFetchGroupName() != null))) { throw QueryException.fetchGroupValidOnlyIfFetchGroupManagerInDescriptor(this.descriptor.getJavaClassName(), getName());
Set fetchedFields = new HashSet(getFetchGroup().getAttributes().size() + 2); for (Iterator iterator = getFetchGroup().getAttributes().iterator(); iterator.hasNext();) { String attribute = (String)iterator.next(); DatabaseMapping mapping = getDescriptor().getObjectBuilder().getMappingForAttributeName(attribute); Vector fields = org.eclipse.persistence.internal.helper.NonSynchronizedVector.newInstance(getFetchGroup().getAttributes().size() + 2); for (Iterator iterator = getDescriptor().getFields().iterator(); iterator.hasNext();) { DatabaseField field = (DatabaseField)iterator.next();
query.getFetchGroup().addAttribute(mapping.getAttributeName()); DatabaseMapping lockMapping = getDescriptor().getObjectBuilder().getMappingForField(lockField); if (lockMapping != null) { query.getFetchGroup().addAttribute(lockMapping.getAttributeName());
FetchGroup targetFetchGroup = null; if (nestedQuery.isObjectLevelReadQuery()) { targetFetchGroup = ((ObjectLevelReadQuery)nestedQuery).getFetchGroup(); if (refreshing && descriptor.hasFetchGroupManager()) { descriptor.getFetchGroupManager().unionEntityFetchGroupIntoObject(aggregate, descriptor.getFetchGroupManager().getEntityFetchGroup(targetFetchGroup), executionSession, true);
FetchGroup targetFetchGroup = null; if (nestedQuery.isObjectLevelReadQuery()) { targetFetchGroup = ((ObjectLevelReadQuery)nestedQuery).getFetchGroup(); if (refreshing && descriptor.hasFetchGroupManager()) { descriptor.getFetchGroupManager().unionEntityFetchGroupIntoObject(aggregate, descriptor.getFetchGroupManager().getEntityFetchGroup(targetFetchGroup), executionSession, true);