Package org.eclipse.persistence.queries
Class LoadGroup
- java.lang.Object
-
- org.eclipse.persistence.core.queries.CoreAttributeGroup<org.eclipse.persistence.internal.queries.AttributeItem,ClassDescriptor>
-
- org.eclipse.persistence.queries.AttributeGroup
-
- org.eclipse.persistence.queries.LoadGroup
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
public class LoadGroup extends AttributeGroup
Purpose: Used to load specified relationship attributes and nested relationship attributes.A LoadGroup can be configured for use on a query using
ObjectLevelReadQuery.setLoadGroup(LoadGroup)
or in the case of JPA users with LOAD_GROUP query hint. Alternatively aFetchGroup
could be used withFetchGroup.shouldLoad()
set to true and the FetchGroup configured on a query be executed.- See Also:
FetchGroup
, Serialized Form- Author:
- ailitchev
- Since:
- Eclipselink 2.1
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.Boolean
isConcurrent
-
Fields inherited from class org.eclipse.persistence.core.queries.CoreAttributeGroup
allsubclasses, isValidated, items, name, subClasses, superClassGroup, type, typeName
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addAttribute(java.lang.String attributeNameOrPath, CoreAttributeGroup group)
Add a basic attribute or nested attribute with each String representing an attribute on the path to what needs to be included in the AttributeGroup.void
addAttribute(java.lang.String attributeNameOrPath, LoadGroup group)
LoadGroup
clone()
LoadGroup
getGroup(java.lang.String attributeNameOrPath)
Returns LoadGroup corresponding to the passed (possibly nested) attribute.java.lang.Boolean
getIsConcurrent()
INTERNAL: Return if the load group should load its relationships concurrently.boolean
isConcurrent()
ADVANCED: Return if the load group should load its relationships concurrently.boolean
isLoadGroup()
protected LoadGroup
newGroup(java.lang.String name, CoreAttributeGroup parent)
Subclass may create different types.void
setIsConcurrent(java.lang.Boolean isConcurrent)
ADVANCED: Set if the load group should load its relationships concurrently.-
Methods inherited from class org.eclipse.persistence.queries.AttributeGroup
addAttribute, findGroup, getItem, isCopyGroup, isSupersetOf, newItem, newItem, toCopyGroup, toCopyGroup, toFetchGroup, toFetchGroup, toLoadGroup, toLoadGroup
-
Methods inherited from class org.eclipse.persistence.core.queries.CoreAttributeGroup
addAttribute, addAttribute, addAttributeKey, addAttributes, clone, containsAttribute, containsAttributeInternal, convert, convertClassNamesToClasses, equals, getAllItems, getAttributeNames, getItem, getItems, getName, getSubClassGroups, getType, getTypeName, hashCode, hasInheritance, hasItems, insertSubClass, isFetchGroup, isSupersetOf, isValidated, removeAttribute, setAllSubclasses, setAttributeNames, setName, toString, toStringAdditionalInfo, toStringItems, toStringPath
-
-
-
-
Method Detail
-
newGroup
protected LoadGroup newGroup(java.lang.String name, CoreAttributeGroup parent)
Description copied from class:AttributeGroup
Subclass may create different types.- Overrides:
newGroup
in classAttributeGroup
-
isLoadGroup
public boolean isLoadGroup()
- Overrides:
isLoadGroup
in classAttributeGroup
-
clone
public LoadGroup clone()
- Overrides:
clone
in classAttributeGroup
-
getGroup
public LoadGroup getGroup(java.lang.String attributeNameOrPath)
Returns LoadGroup corresponding to the passed (possibly nested) attribute.- Overrides:
getGroup
in classAttributeGroup
-
addAttribute
public void addAttribute(java.lang.String attributeNameOrPath, CoreAttributeGroup group)
Description copied from class:CoreAttributeGroup
Add a basic attribute or nested attribute with each String representing an attribute on the path to what needs to be included in the AttributeGroup.Example:
group.addAttribute("firstName", group1);
Note that existing group corresponding to attributeNameOrPath will be overridden with the passed group.
group.addAttribute("manager.address", group2);- Overrides:
addAttribute
in classCoreAttributeGroup<org.eclipse.persistence.internal.queries.AttributeItem,ClassDescriptor>
- Parameters:
attributeNameOrPath
- A simple attribute, array or attributes forming a pathgroup
- - an AttributeGroup to be added.
-
addAttribute
public void addAttribute(java.lang.String attributeNameOrPath, LoadGroup group)
-
getIsConcurrent
public java.lang.Boolean getIsConcurrent()
INTERNAL: Return if the load group should load its relationships concurrently.
-
isConcurrent
public boolean isConcurrent()
ADVANCED: Return if the load group should load its relationships concurrently. This will use the session's server platform's thread pool. Each of the query results objects relationships will be loaded on a different thread. This can improve performance by processing many queries at once. Concurrent load is only supported when a shared cache is used.- Overrides:
isConcurrent
in classAttributeGroup
-
setIsConcurrent
public void setIsConcurrent(java.lang.Boolean isConcurrent)
ADVANCED: Set if the load group should load its relationships concurrently. This will use the session's server platform's thread pool. Each of the query results objects relationships will be loaded on a different thread. This can improve performance by processing many queries at once. Concurrent load is only supported when a shared cache is used.
-
-