Class JDBCFetchPlanImpl
java.lang.Object
org.apache.openjpa.persistence.FetchPlanImpl
org.apache.openjpa.persistence.jdbc.JDBCFetchPlanImpl
- All Implemented Interfaces:
FetchPlan
,JDBCFetchPlan
JDBC extensions to the fetch plan.
- Since:
- 0.4.0
- Author:
- Abe White
-
Field Summary
Fields inherited from class org.apache.openjpa.persistence.FetchPlanImpl
_hints, _precedence
Fields inherited from interface org.apache.openjpa.persistence.FetchPlan
DEFAULT, DEPTH_INFINITE, GROUP_ALL, GROUP_DEFAULT
Fields inherited from interface org.apache.openjpa.persistence.jdbc.JDBCFetchPlan
EAGER_JOIN, EAGER_NONE, EAGER_PARALLEL, SIZE_LAST, SIZE_QUERY, SIZE_UNKNOWN, SYNTAX_DATABASE, SYNTAX_SQL92, SYNTAX_TRADITIONAL
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionaddFetchGroup
(String group) Addsgroup
to the set of fetch group to use when loading objects.addFetchGroups
(String... groups) Addsgroups
to the set of fetch group names to use when loading objects.addFetchGroups
(Collection groups) Addsgroups
to the set of fetch group names to use when loading objects.Addsfield
to the set of field names to use when loading objects.Addsfield
to the set of fully-qualified field names to use when loading objects.Addsfields
to the set of field names to use when loading objects.addFields
(Class cls, Collection fields) Addsfields
to the set of field names to use when loading objects.Addsfields
to the set of fully-qualified field names to use when loading objects.addFields
(Collection fields) Addsfields
to the set of fully-qualified field names to use when loading objects.Clears the set of fetch group names to use wen loading data.Clears the set of field names to use wen loading data.Eager fetch mode in loading relations.Result set fetch direction.boolean
Affirms if foreign key for a relation field will be pre-fetched as part of the owning object irrespective of whether the field is included in the default fetch group of this fetch configuration.The isolation level for queries issued to the database.SQL join syntax.int
How to determine the size of a large result set.Type of JDBC result set to use for query results.Eager fetch mode in loading subclasses.protected DelegatingFetchConfiguration
Create a new exception-translating delegating fetch configuration.removeFetchGroup
(String group) Remove the given fetch group.removeFetchGroups
(String... groups) Removesgroups
from the set of fetch group names to use when loading objects.removeFetchGroups
(Collection groups) Removesgroups
from the set of fetch group names to use when loading objects.removeField
(Class cls, String field) Remove the given field.removeField
(String field) Remove the given fully-qualified field.removeFields
(Class cls, String... fields) Removesfields
from the set of field names to use when loading objects.removeFields
(Class cls, Collection fields) Removesfields
from the set of field names to use when loading objects.removeFields
(String... fields) Removesfields
from the set of fully-qualified field names to use when loading objects.removeFields
(Collection fields) Removesfields
from the set of fully-qualified field names to use when loading objects.Resets the set of fetch groups to the list in the global configuration.setEagerFetchMode
(int mode) setEagerFetchMode
(FetchMode mode) Eager fetch mode in loading relations.setFetchBatchSize
(int fetchBatchSize) Set the fetch batch size for large result set support.setFetchDirection
(int direction) setFetchDirection
(FetchDirection direction) Result set fetch direction.void
setIgnoreDfgForFkSelect
(boolean b) Affirms if foreign key for a relation field will be pre-fetched as part of the owning object irrespective of whether the field is included in the default fetch group of this fetch configuration.setIsolation
(IsolationLevel level) The isolation level for queries issued to the database.setJoinSyntax
(int syntax) setJoinSyntax
(JoinSyntax syntax) SQL join syntax.setLockTimeout
(int timeout) The number of milliseconds to wait for an object lock, or -1 for no limit.setLRSSize
(int lrsSizeMode) setLRSSizeAlgorithm
(LRSSizeAlgorithm lrsSizeAlgorithm) How to determine the size of a large result set.setMaxFetchDepth
(int depth) The maximum fetch depth when loading an object.setQueryResultCacheEnabled
(boolean cache) Control whether or not query caching is enabled.setQueryTimeout
(int timeout) The number of milliseconds to wait for a query, or -1 for no limit.setReadLockMode
(jakarta.persistence.LockModeType mode) The lock level to use for locking loaded objects.setResultSetType
(int mode) Type of JDBC result set to use for query results.setSubclassFetchMode
(int mode) Eager fetch mode in loading subclasses.setWriteLockMode
(jakarta.persistence.LockModeType mode) The lock level to use for locking dirtied objects.Methods inherited from class org.apache.openjpa.persistence.FetchPlanImpl
equals, getCacheRetrieveMode, getCacheStoreMode, getDelegate, getExtendedPathLookup, getFetchBatchSize, getFetchGroups, getFields, getHint, getHints, getLockScope, getLockTimeout, getMaxFetchDepth, getQueryResultCache, getQueryResultCacheEnabled, getQueryTimeout, getReadLockMode, getWriteLockMode, hasField, hasField, hashCode, registerHint, setCacheRetrieveMode, setCacheStoreMode, setExtendedPathLookup, setHint, setHints, setLockScope, setQueryResultCache
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.openjpa.persistence.FetchPlan
getCacheRetrieveMode, getCacheStoreMode, getDelegate, getExtendedPathLookup, getFetchBatchSize, getFetchGroups, getFields, getHint, getHints, getLockScope, getLockTimeout, getMaxFetchDepth, getQueryResultCache, getQueryResultCacheEnabled, getQueryTimeout, getReadLockMode, getWriteLockMode, hasField, hasField, setCacheRetrieveMode, setCacheStoreMode, setExtendedPathLookup, setHint, setLockScope, setQueryResultCache
-
Constructor Details
-
JDBCFetchPlanImpl
Constructor; supply delegate.
-
-
Method Details
-
newDelegatingFetchConfiguration
Description copied from class:FetchPlanImpl
Create a new exception-translating delegating fetch configuration.- Overrides:
newDelegatingFetchConfiguration
in classFetchPlanImpl
-
getEagerFetchMode
Description copied from interface:JDBCFetchPlan
Eager fetch mode in loading relations.- Specified by:
getEagerFetchMode
in interfaceJDBCFetchPlan
-
setEagerFetchMode
Description copied from interface:JDBCFetchPlan
Eager fetch mode in loading relations.- Specified by:
setEagerFetchMode
in interfaceJDBCFetchPlan
-
setEagerFetchMode
- Specified by:
setEagerFetchMode
in interfaceJDBCFetchPlan
-
getSubclassFetchMode
Description copied from interface:JDBCFetchPlan
Eager fetch mode in loading subclasses.- Specified by:
getSubclassFetchMode
in interfaceJDBCFetchPlan
-
setSubclassFetchMode
Description copied from interface:JDBCFetchPlan
Eager fetch mode in loading subclasses.- Specified by:
setSubclassFetchMode
in interfaceJDBCFetchPlan
-
setSubclassFetchMode
- Specified by:
setSubclassFetchMode
in interfaceJDBCFetchPlan
-
getResultSetType
Description copied from interface:JDBCFetchPlan
Type of JDBC result set to use for query results.- Specified by:
getResultSetType
in interfaceJDBCFetchPlan
-
setResultSetType
Description copied from interface:JDBCFetchPlan
Type of JDBC result set to use for query results.- Specified by:
setResultSetType
in interfaceJDBCFetchPlan
-
setResultSetType
- Specified by:
setResultSetType
in interfaceJDBCFetchPlan
-
getFetchDirection
Description copied from interface:JDBCFetchPlan
Result set fetch direction.- Specified by:
getFetchDirection
in interfaceJDBCFetchPlan
-
setFetchDirection
Description copied from interface:JDBCFetchPlan
Result set fetch direction.- Specified by:
setFetchDirection
in interfaceJDBCFetchPlan
-
setFetchDirection
- Specified by:
setFetchDirection
in interfaceJDBCFetchPlan
-
getLRSSizeAlgorithm
Description copied from interface:JDBCFetchPlan
How to determine the size of a large result set.- Specified by:
getLRSSizeAlgorithm
in interfaceJDBCFetchPlan
-
setLRSSizeAlgorithm
Description copied from interface:JDBCFetchPlan
How to determine the size of a large result set.- Specified by:
setLRSSizeAlgorithm
in interfaceJDBCFetchPlan
-
getLRSSize
public int getLRSSize()- Specified by:
getLRSSize
in interfaceJDBCFetchPlan
-
setLRSSize
- Specified by:
setLRSSize
in interfaceJDBCFetchPlan
-
getJoinSyntax
Description copied from interface:JDBCFetchPlan
SQL join syntax.- Specified by:
getJoinSyntax
in interfaceJDBCFetchPlan
-
setJoinSyntax
Description copied from interface:JDBCFetchPlan
SQL join syntax.- Specified by:
setJoinSyntax
in interfaceJDBCFetchPlan
-
setJoinSyntax
- Specified by:
setJoinSyntax
in interfaceJDBCFetchPlan
-
getIsolation
Description copied from interface:JDBCFetchPlan
The isolation level for queries issued to the database. This overrides the persistence-unit-wideopenjpa.jdbc.TransactionIsolation
value.- Specified by:
getIsolation
in interfaceJDBCFetchPlan
-
setIsolation
Description copied from interface:JDBCFetchPlan
The isolation level for queries issued to the database. This overrides the persistence-unit-wideopenjpa.jdbc.TransactionIsolation
value.- Specified by:
setIsolation
in interfaceJDBCFetchPlan
-
addFetchGroup
Description copied from interface:FetchPlan
Addsgroup
to the set of fetch group to use when loading objects.- Specified by:
addFetchGroup
in interfaceFetchPlan
- Specified by:
addFetchGroup
in interfaceJDBCFetchPlan
- Overrides:
addFetchGroup
in classFetchPlanImpl
-
addFetchGroups
Description copied from interface:FetchPlan
Addsgroups
to the set of fetch group names to use when loading objects.- Specified by:
addFetchGroups
in interfaceFetchPlan
- Specified by:
addFetchGroups
in interfaceJDBCFetchPlan
- Overrides:
addFetchGroups
in classFetchPlanImpl
-
addFetchGroups
Description copied from interface:FetchPlan
Addsgroups
to the set of fetch group names to use when loading objects.- Specified by:
addFetchGroups
in interfaceFetchPlan
- Specified by:
addFetchGroups
in interfaceJDBCFetchPlan
- Overrides:
addFetchGroups
in classFetchPlanImpl
-
addField
Description copied from interface:FetchPlan
Addsfield
to the set of field names to use when loading objects.- Specified by:
addField
in interfaceFetchPlan
- Specified by:
addField
in interfaceJDBCFetchPlan
- Overrides:
addField
in classFetchPlanImpl
-
addField
Description copied from interface:FetchPlan
Addsfield
to the set of fully-qualified field names to use when loading objects.- Specified by:
addField
in interfaceFetchPlan
- Specified by:
addField
in interfaceJDBCFetchPlan
- Overrides:
addField
in classFetchPlanImpl
-
addFields
Description copied from interface:FetchPlan
Addsfields
to the set of field names to use when loading objects.- Specified by:
addFields
in interfaceFetchPlan
- Specified by:
addFields
in interfaceJDBCFetchPlan
- Overrides:
addFields
in classFetchPlanImpl
-
addFields
Description copied from interface:FetchPlan
Addsfields
to the set of field names to use when loading objects.- Specified by:
addFields
in interfaceFetchPlan
- Specified by:
addFields
in interfaceJDBCFetchPlan
- Overrides:
addFields
in classFetchPlanImpl
-
addFields
Description copied from interface:FetchPlan
Addsfields
to the set of fully-qualified field names to use when loading objects.- Specified by:
addFields
in interfaceFetchPlan
- Specified by:
addFields
in interfaceJDBCFetchPlan
- Overrides:
addFields
in classFetchPlanImpl
-
addFields
Description copied from interface:FetchPlan
Addsfields
to the set of fully-qualified field names to use when loading objects.- Specified by:
addFields
in interfaceFetchPlan
- Specified by:
addFields
in interfaceJDBCFetchPlan
- Overrides:
addFields
in classFetchPlanImpl
-
clearFetchGroups
Description copied from interface:FetchPlan
Clears the set of fetch group names to use wen loading data. After this operation is invoked, only those fields in the default fetch group (and any requested field) will be loaded when loading an object.- Specified by:
clearFetchGroups
in interfaceFetchPlan
- Specified by:
clearFetchGroups
in interfaceJDBCFetchPlan
- Overrides:
clearFetchGroups
in classFetchPlanImpl
-
clearFields
Description copied from interface:FetchPlan
Clears the set of field names to use wen loading data. After this operation is invoked, only those fields in the configured fetch groups will be loaded when loading an object.- Specified by:
clearFields
in interfaceFetchPlan
- Specified by:
clearFields
in interfaceJDBCFetchPlan
- Overrides:
clearFields
in classFetchPlanImpl
-
removeFetchGroup
Description copied from interface:FetchPlan
Remove the given fetch group.- Specified by:
removeFetchGroup
in interfaceFetchPlan
- Specified by:
removeFetchGroup
in interfaceJDBCFetchPlan
- Overrides:
removeFetchGroup
in classFetchPlanImpl
-
removeFetchGroups
Description copied from interface:FetchPlan
Removesgroups
from the set of fetch group names to use when loading objects.- Specified by:
removeFetchGroups
in interfaceFetchPlan
- Specified by:
removeFetchGroups
in interfaceJDBCFetchPlan
- Overrides:
removeFetchGroups
in classFetchPlanImpl
-
removeFetchGroups
Description copied from interface:FetchPlan
Removesgroups
from the set of fetch group names to use when loading objects.- Specified by:
removeFetchGroups
in interfaceFetchPlan
- Specified by:
removeFetchGroups
in interfaceJDBCFetchPlan
- Overrides:
removeFetchGroups
in classFetchPlanImpl
-
removeField
Description copied from interface:FetchPlan
Remove the given field.- Specified by:
removeField
in interfaceFetchPlan
- Specified by:
removeField
in interfaceJDBCFetchPlan
- Overrides:
removeField
in classFetchPlanImpl
-
removeField
Description copied from interface:FetchPlan
Remove the given fully-qualified field.- Specified by:
removeField
in interfaceFetchPlan
- Specified by:
removeField
in interfaceJDBCFetchPlan
- Overrides:
removeField
in classFetchPlanImpl
-
removeFields
Description copied from interface:FetchPlan
Removesfields
from the set of field names to use when loading objects.- Specified by:
removeFields
in interfaceFetchPlan
- Specified by:
removeFields
in interfaceJDBCFetchPlan
- Overrides:
removeFields
in classFetchPlanImpl
-
removeFields
Description copied from interface:FetchPlan
Removesfields
from the set of field names to use when loading objects.- Specified by:
removeFields
in interfaceFetchPlan
- Specified by:
removeFields
in interfaceJDBCFetchPlan
- Overrides:
removeFields
in classFetchPlanImpl
-
removeFields
Description copied from interface:FetchPlan
Removesfields
from the set of fully-qualified field names to use when loading objects.- Specified by:
removeFields
in interfaceFetchPlan
- Specified by:
removeFields
in interfaceJDBCFetchPlan
- Overrides:
removeFields
in classFetchPlanImpl
-
removeFields
Description copied from interface:FetchPlan
Removesfields
from the set of fully-qualified field names to use when loading objects.- Specified by:
removeFields
in interfaceFetchPlan
- Specified by:
removeFields
in interfaceJDBCFetchPlan
- Overrides:
removeFields
in classFetchPlanImpl
-
resetFetchGroups
Description copied from interface:FetchPlan
Resets the set of fetch groups to the list in the global configuration.- Specified by:
resetFetchGroups
in interfaceFetchPlan
- Specified by:
resetFetchGroups
in interfaceJDBCFetchPlan
- Overrides:
resetFetchGroups
in classFetchPlanImpl
-
setQueryResultCacheEnabled
Description copied from interface:FetchPlan
Control whether or not query caching is enabled. This has no effect if the datacache plugin is not installed, or if the query cache size is set to zero.- Specified by:
setQueryResultCacheEnabled
in interfaceFetchPlan
- Specified by:
setQueryResultCacheEnabled
in interfaceJDBCFetchPlan
- Overrides:
setQueryResultCacheEnabled
in classFetchPlanImpl
-
setFetchBatchSize
Description copied from interface:FetchPlan
Set the fetch batch size for large result set support. Defaults to theopenjpa.FetchBatchSize
setting. Note that this property will be ignored under some data stores.- Specified by:
setFetchBatchSize
in interfaceFetchPlan
- Specified by:
setFetchBatchSize
in interfaceJDBCFetchPlan
- Overrides:
setFetchBatchSize
in classFetchPlanImpl
-
setLockTimeout
Description copied from interface:FetchPlan
The number of milliseconds to wait for an object lock, or -1 for no limit.- Specified by:
setLockTimeout
in interfaceFetchPlan
- Specified by:
setLockTimeout
in interfaceJDBCFetchPlan
- Overrides:
setLockTimeout
in classFetchPlanImpl
-
setMaxFetchDepth
Description copied from interface:FetchPlan
The maximum fetch depth when loading an object.- Specified by:
setMaxFetchDepth
in interfaceFetchPlan
- Specified by:
setMaxFetchDepth
in interfaceJDBCFetchPlan
- Overrides:
setMaxFetchDepth
in classFetchPlanImpl
-
setReadLockMode
Description copied from interface:FetchPlan
The lock level to use for locking loaded objects.- Specified by:
setReadLockMode
in interfaceFetchPlan
- Specified by:
setReadLockMode
in interfaceJDBCFetchPlan
- Overrides:
setReadLockMode
in classFetchPlanImpl
-
setWriteLockMode
Description copied from interface:FetchPlan
The lock level to use for locking dirtied objects.- Specified by:
setWriteLockMode
in interfaceFetchPlan
- Specified by:
setWriteLockMode
in interfaceJDBCFetchPlan
- Overrides:
setWriteLockMode
in classFetchPlanImpl
-
setQueryTimeout
Description copied from interface:FetchPlan
The number of milliseconds to wait for a query, or -1 for no limit.- Specified by:
setQueryTimeout
in interfaceFetchPlan
- Specified by:
setQueryTimeout
in interfaceJDBCFetchPlan
- Overrides:
setQueryTimeout
in classFetchPlanImpl
-
getIgnoreDfgForFkSelect
public boolean getIgnoreDfgForFkSelect()Description copied from interface:JDBCFetchPlan
Affirms if foreign key for a relation field will be pre-fetched as part of the owning object irrespective of whether the field is included in the default fetch group of this fetch configuration.
By default, foreign key for a relation field is pre-fetched as part of the owning object only if the field in included in the default fetch group of this fetch configuration.- Specified by:
getIgnoreDfgForFkSelect
in interfaceJDBCFetchPlan
-
setIgnoreDfgForFkSelect
public void setIgnoreDfgForFkSelect(boolean b) Description copied from interface:JDBCFetchPlan
Affirms if foreign key for a relation field will be pre-fetched as part of the owning object irrespective of whether the field is included in the default fetch group of this fetch configuration.
By default, foreign key for a relation field is pre-fetched as part of the owning object only if the field in included in the default fetch group of this fetch configuration.- Specified by:
setIgnoreDfgForFkSelect
in interfaceJDBCFetchPlan
-