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.- Since:
- Eclipselink 2.1
- Author:
- ailitchev
- See Also:
FetchGroup, Serialized Form
-
-
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()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, toCopyGroup, toCopyGroup, toFetchGroup, toFetchGroup, toLoadGroup, toLoadGroup
-
Methods inherited from class org.eclipse.persistence.core.queries.CoreAttributeGroup
addAttribute, addAttribute, addAttributeKey, addAttributes, clone, containsAttribute, containsAttributeInternal, convertClassNamesToClasses, equals, getAllItems, getAttributeNames, getItems, getName, getSubClassGroups, getType, getTypeName, hasInheritance, hasItems, insertSubClass, isFetchGroup, isSupersetOf, isValidated, removeAttribute, setAllSubclasses, setAttributeNames, setName, toString
-
-
-
-
Method Detail
-
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.
-
-