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 aFetchGroupcould 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.BooleanisConcurrent-
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 voidaddAttribute(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.voidaddAttribute(java.lang.String attributeNameOrPath, LoadGroup group)LoadGroupclone()LoadGroupgetGroup(java.lang.String attributeNameOrPath)Returns LoadGroup corresponding to the passed (possibly nested) attribute.java.lang.BooleangetIsConcurrent()INTERNAL: Return if the load group should load its relationships concurrently.booleanisConcurrent()ADVANCED: Return if the load group should load its relationships concurrently.booleanisLoadGroup()protected LoadGroupnewGroup(java.lang.String name, CoreAttributeGroup parent)Subclass may create different types.voidsetIsConcurrent(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:AttributeGroupSubclass may create different types.- Overrides:
newGroupin classAttributeGroup
-
isLoadGroup
public boolean isLoadGroup()
- Overrides:
isLoadGroupin classAttributeGroup
-
clone
public LoadGroup clone()
- Overrides:
clonein classAttributeGroup
-
getGroup
public LoadGroup getGroup(java.lang.String attributeNameOrPath)
Returns LoadGroup corresponding to the passed (possibly nested) attribute.- Overrides:
getGroupin classAttributeGroup
-
addAttribute
public void addAttribute(java.lang.String attributeNameOrPath, CoreAttributeGroup group)Description copied from class:CoreAttributeGroupAdd 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:
addAttributein 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:
isConcurrentin 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.
-
-