Class JDBCFetchConfigurationImpl
- All Implemented Interfaces:
Serializable
,Cloneable
,EagerFetchModes
,JDBCFetchConfiguration
,LRSSizes
,JoinSyntaxes
,FetchConfiguration
,LockLevels
,LockScopes
,QueryFlushModes
- Direct Known Subclasses:
TargetFetchConfiguration
FetchConfiguration
.- Author:
- Abe White
- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionprotected static class
Configurable JDBC state shared throughout a traversal chain.Nested classes/interfaces inherited from class org.apache.openjpa.kernel.FetchConfigurationImpl
FetchConfigurationImpl.ConfigurationState
-
Field Summary
Modifier and TypeFieldDescriptionprotected final JDBCFetchConfigurationImpl.JDBCConfigurationState
Fields inherited from interface org.apache.openjpa.jdbc.kernel.EagerFetchModes
EAGER_JOIN, EAGER_NONE, EAGER_PARALLEL
Fields inherited from interface org.apache.openjpa.kernel.FetchConfiguration
DEFAULT, FETCH_LOAD, FETCH_NONE, FETCH_REF
Fields inherited from interface org.apache.openjpa.jdbc.sql.JoinSyntaxes
SYNTAX_DATABASE, SYNTAX_SQL92, SYNTAX_TRADITIONAL
Fields inherited from interface org.apache.openjpa.kernel.LockLevels
LOCK_NONE, LOCK_READ, LOCK_WRITE
Fields inherited from interface org.apache.openjpa.kernel.LockScopes
LOCKSCOPE_EXTENDED, LOCKSCOPE_NORMAL
Fields inherited from interface org.apache.openjpa.jdbc.kernel.LRSSizes
SIZE_LAST, SIZE_QUERY, SIZE_UNKNOWN
Fields inherited from interface org.apache.openjpa.kernel.QueryFlushModes
FLUSH_FALSE, FLUSH_TRUE, FLUSH_WITH_CONNECTION
-
Constructor Summary
ModifierConstructorDescriptionprotected
JDBCFetchConfigurationImpl
(FetchConfigurationImpl.ConfigurationState state, JDBCFetchConfigurationImpl.JDBCConfigurationState jstate) -
Method Summary
Modifier and TypeMethodDescriptionaddFetchInnerJoin
(String join) Addsfield
to the set of fully-qualified field names to eagerly join when loading objects.addFetchInnerJoins
(Collection<String> joins) Addsfields
to the set of fully-qualified field names to eagerly join when loading objects.Addsfield
to the set of fully-qualified field names to eagerly join when loading objects.addJoins
(Collection<String> joins) Addsfields
to the set of fully-qualified field names to eagerly join when loading objects.Clears the set of field names to join when loading data.void
copy
(FetchConfiguration fetch) Copy the state from the given fetch configuration to this one.int
Return the eager fetch mode.int
The fetch direction to use as a constant fromResultSet
.Returns the names of the inner fetch joins that this component will use when loading objects.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.int
The isolation level for queries issued to the database.getJoins()
Returns the names of the joins that this component will use when loading objects.int
The join syntax to use.int
The large result set size mode to use.int
The result set type to use as a constant fromResultSet
.int
Return the subclass fetch mode.int
Return the effective subclass fetch mode for the given type.boolean
hasFetchInnerJoin
(String field) Return true if the given fully-qualified inner fetch join has been added.boolean
Return true if the given fully-qualified join has been added.protected FetchConfigurationImpl
Return a new hollow instance.ResultList<?>
Return a new result list for the current fetch configuration.removeJoin
(String field) Removesfield
to the set of fully-qualified field names to eagerly join when loading objects.removeJoins
(Collection<String> joins) Removesfields
from the set of fully-qualified field names to eagerly join when loading objects.void
setContext
(StoreContext ctx) Called automatically by the system to associate the fetch configuration with a context before use.setEagerFetchMode
(int mode) Set the eager fetch mode.setFetchDirection
(int direction) The fetch direction to use as a constant fromResultSet
.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
(int level) The isolation level for queries issued to the database.setJoinSyntax
(int syntax) The join syntax to use.setLRSSize
(int size) The large result set size mode to use.setResultSetType
(int type) The result set type to use as a constant fromResultSet
.setSubclassFetchMode
(int mode) Set the subclass fetch mode.Convenience method to cast traversal to store-specific type.Methods inherited from class org.apache.openjpa.kernel.FetchConfigurationImpl
addFetchGroup, addFetchGroups, addField, addFields, clearFetchGroups, clearFields, clone, getCacheRetrieveMode, getCacheStoreMode, getContext, getExtendedPathLookup, getFetchBatchSize, getFetchGroups, getFields, getFlushBeforeQueries, getHint, getHints, getLockScope, getLockTimeout, getMaxFetchDepth, getQueryCacheEnabled, getQueryTimeout, getReadLockLevel, getRootClasses, getRootInstances, getSupportedHints, getWriteLockLevel, hasFetchGroup, hasFetchGroupAll, hasFetchGroupDefault, hasField, isDefaultPUFetchGroupConfigurationOnly, isFetchConfigurationSQLCacheAdmissible, isHintSet, lock, populateHintSetter, populateHintSetter, removeFetchGroup, removeFetchGroups, removeField, removeFields, removeHint, removeHint, requiresFetch, requiresLoad, resetFetchGroups, setCacheRetrieveMode, setCacheStoreMode, setExtendedPathLookup, setFetchBatchSize, setFlushBeforeQueries, setHint, setHint, setLockScope, setLockTimeout, setMaxFetchDepth, setQueryCacheEnabled, setQueryTimeout, setReadLockLevel, setRootClasses, setRootInstances, setWriteLockLevel, toString, toString, traverse, unlock
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.apache.openjpa.kernel.FetchConfiguration
addFetchGroup, addFetchGroups, addField, addFields, clearFetchGroups, clearFields, clone, getCacheRetrieveMode, getCacheStoreMode, getContext, getExtendedPathLookup, getFetchBatchSize, getFetchGroups, getFields, getFlushBeforeQueries, getHint, getHints, getLockScope, getLockTimeout, getMaxFetchDepth, getQueryCacheEnabled, getQueryTimeout, getReadLockLevel, getRootClasses, getRootInstances, getWriteLockLevel, hasFetchGroup, hasField, isDefaultPUFetchGroupConfigurationOnly, isFetchConfigurationSQLCacheAdmissible, isHintSet, lock, removeFetchGroup, removeFetchGroups, removeField, removeFields, requiresFetch, requiresLoad, resetFetchGroups, setCacheRetrieveMode, setCacheStoreMode, setExtendedPathLookup, setFetchBatchSize, setFlushBeforeQueries, setHint, setHint, setLockScope, setLockTimeout, setMaxFetchDepth, setQueryCacheEnabled, setQueryTimeout, setReadLockLevel, setRootClasses, setRootInstances, setWriteLockLevel, traverse, unlock
-
Field Details
-
_state
-
-
Constructor Details
-
JDBCFetchConfigurationImpl
public JDBCFetchConfigurationImpl() -
JDBCFetchConfigurationImpl
protected JDBCFetchConfigurationImpl(FetchConfigurationImpl.ConfigurationState state, JDBCFetchConfigurationImpl.JDBCConfigurationState jstate)
-
-
Method Details
-
newInstance
Description copied from class:FetchConfigurationImpl
Return a new hollow instance.- Overrides:
newInstance
in classFetchConfigurationImpl
-
setContext
Description copied from interface:FetchConfiguration
Called automatically by the system to associate the fetch configuration with a context before use. The fetch configuration properties should be synchronized with the context's configuration object. Subclasses for specific back ends cannot rely on the context's configuration implementing their back end's configuration sub-interface.- Specified by:
setContext
in interfaceFetchConfiguration
- Overrides:
setContext
in classFetchConfigurationImpl
-
copy
Description copied from interface:FetchConfiguration
Copy the state from the given fetch configuration to this one.- Specified by:
copy
in interfaceFetchConfiguration
- Overrides:
copy
in classFetchConfigurationImpl
-
getIgnoreDfgForFkSelect
public boolean getIgnoreDfgForFkSelect()Description copied from interface:JDBCFetchConfiguration
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 interfaceJDBCFetchConfiguration
-
setIgnoreDfgForFkSelect
public void setIgnoreDfgForFkSelect(boolean b) Description copied from interface:JDBCFetchConfiguration
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 interfaceJDBCFetchConfiguration
-
getEagerFetchMode
public int getEagerFetchMode()Description copied from interface:JDBCFetchConfiguration
Return the eager fetch mode. Defaults to theopenjpa.jdbc.EagerFetchMode
setting.- Specified by:
getEagerFetchMode
in interfaceJDBCFetchConfiguration
-
setEagerFetchMode
Description copied from interface:JDBCFetchConfiguration
Set the eager fetch mode. Defaults to theopenjpa.jdbc.EagerFetchMode
setting.- Specified by:
setEagerFetchMode
in interfaceJDBCFetchConfiguration
-
getSubclassFetchMode
public int getSubclassFetchMode()Description copied from interface:JDBCFetchConfiguration
Return the subclass fetch mode. Defaults to theopenjpa.jdbc.SubclassFetchMode
setting.- Specified by:
getSubclassFetchMode
in interfaceJDBCFetchConfiguration
-
getSubclassFetchMode
Description copied from interface:JDBCFetchConfiguration
Return the effective subclass fetch mode for the given type.- Specified by:
getSubclassFetchMode
in interfaceJDBCFetchConfiguration
-
setSubclassFetchMode
Description copied from interface:JDBCFetchConfiguration
Set the subclass fetch mode. Defaults to theopenjpa.jdbc.SubclassFetchMode
setting.- Specified by:
setSubclassFetchMode
in interfaceJDBCFetchConfiguration
-
getResultSetType
public int getResultSetType()Description copied from interface:JDBCFetchConfiguration
The result set type to use as a constant fromResultSet
. Defaults to theopenjpa.jdbc.ResultSetType
setting.- Specified by:
getResultSetType
in interfaceJDBCFetchConfiguration
-
setResultSetType
Description copied from interface:JDBCFetchConfiguration
The result set type to use as a constant fromResultSet
. Defaults to theopenjpa.jdbc.ResultSetType
setting.- Specified by:
setResultSetType
in interfaceJDBCFetchConfiguration
-
getFetchDirection
public int getFetchDirection()Description copied from interface:JDBCFetchConfiguration
The fetch direction to use as a constant fromResultSet
. Defaults to theopenjpa.jdbc.FetchDirection
setting.- Specified by:
getFetchDirection
in interfaceJDBCFetchConfiguration
-
setFetchDirection
Description copied from interface:JDBCFetchConfiguration
The fetch direction to use as a constant fromResultSet
. Defaults to theopenjpa.jdbc.FetchDirection
setting.- Specified by:
setFetchDirection
in interfaceJDBCFetchConfiguration
-
getLRSSize
public int getLRSSize()Description copied from interface:JDBCFetchConfiguration
The large result set size mode to use. Defaults to theopenjpa.jdbc.LRSSize
setting.- Specified by:
getLRSSize
in interfaceJDBCFetchConfiguration
-
setLRSSize
Description copied from interface:JDBCFetchConfiguration
The large result set size mode to use. Defaults to theopenjpa.jdbc.LRSSize
setting.- Specified by:
setLRSSize
in interfaceJDBCFetchConfiguration
-
getJoinSyntax
public int getJoinSyntax()Description copied from interface:JDBCFetchConfiguration
The join syntax to use.- Specified by:
getJoinSyntax
in interfaceJDBCFetchConfiguration
-
setJoinSyntax
Description copied from interface:JDBCFetchConfiguration
The join syntax to use.- Specified by:
setJoinSyntax
in interfaceJDBCFetchConfiguration
-
newResultList
Description copied from interface:FetchConfiguration
Return a new result list for the current fetch configuration.- Specified by:
newResultList
in interfaceFetchConfiguration
- Overrides:
newResultList
in classFetchConfigurationImpl
-
getJoins
Description copied from interface:JDBCFetchConfiguration
Returns the names of the joins that this component will use when loading objects. Defaults to the empty set. This set is not thread safe.- Specified by:
getJoins
in interfaceJDBCFetchConfiguration
-
hasJoin
Description copied from interface:JDBCFetchConfiguration
Return true if the given fully-qualified join has been added.- Specified by:
hasJoin
in interfaceJDBCFetchConfiguration
-
addJoin
Description copied from interface:JDBCFetchConfiguration
Addsfield
to the set of fully-qualified field names to eagerly join when loading objects. Each class can have at most one to-many eagerly joined fields.- Specified by:
addJoin
in interfaceJDBCFetchConfiguration
-
addJoins
Description copied from interface:JDBCFetchConfiguration
Addsfields
to the set of fully-qualified field names to eagerly join when loading objects. Each class can have at most one to-many eagerly joined fields.- Specified by:
addJoins
in interfaceJDBCFetchConfiguration
-
removeJoin
Description copied from interface:JDBCFetchConfiguration
Removesfield
to the set of fully-qualified field names to eagerly join when loading objects.- Specified by:
removeJoin
in interfaceJDBCFetchConfiguration
-
removeJoins
Description copied from interface:JDBCFetchConfiguration
Removesfields
from the set of fully-qualified field names to eagerly join when loading objects.- Specified by:
removeJoins
in interfaceJDBCFetchConfiguration
-
clearJoins
Description copied from interface:JDBCFetchConfiguration
Clears the set of field names to join when loading data.- Specified by:
clearJoins
in interfaceJDBCFetchConfiguration
-
getIsolation
public int getIsolation()Description copied from interface:JDBCFetchConfiguration
The isolation level for queries issued to the database. This overrides the persistence-unit-wide
openjpa.jdbc.TransactionIsolation
value.Must be one of
Connection.TRANSACTION_NONE
,Connection.TRANSACTION_READ_UNCOMMITTED
,Connection.TRANSACTION_READ_COMMITTED
,Connection.TRANSACTION_REPEATABLE_READ
,Connection.TRANSACTION_SERIALIZABLE
, or -1 for the default connection level specified by the context in which this fetch configuration is being used.- Specified by:
getIsolation
in interfaceJDBCFetchConfiguration
-
setIsolation
Description copied from interface:JDBCFetchConfiguration
The isolation level for queries issued to the database. This overrides the persistence-unit-wide
openjpa.jdbc.TransactionIsolation
value.Must be one of
Connection.TRANSACTION_NONE
,Connection.TRANSACTION_READ_UNCOMMITTED
,Connection.TRANSACTION_READ_COMMITTED
,Connection.TRANSACTION_REPEATABLE_READ
,Connection.TRANSACTION_SERIALIZABLE
, or -1 for the default connection level specified by the context in which this fetch configuration is being used.- Specified by:
setIsolation
in interfaceJDBCFetchConfiguration
-
traverseJDBC
Description copied from interface:JDBCFetchConfiguration
Convenience method to cast traversal to store-specific type.- Specified by:
traverseJDBC
in interfaceJDBCFetchConfiguration
-
getFetchInnerJoins
Description copied from interface:JDBCFetchConfiguration
Returns the names of the inner fetch joins that this component will use when loading objects. Defaults to the empty set. This set is not thread safe.- Specified by:
getFetchInnerJoins
in interfaceJDBCFetchConfiguration
-
hasFetchInnerJoin
Description copied from interface:JDBCFetchConfiguration
Return true if the given fully-qualified inner fetch join has been added.- Specified by:
hasFetchInnerJoin
in interfaceJDBCFetchConfiguration
-
addFetchInnerJoin
Description copied from interface:JDBCFetchConfiguration
Addsfield
to the set of fully-qualified field names to eagerly join when loading objects. Each class can have at most one to-many eagerly joined fields.- Specified by:
addFetchInnerJoin
in interfaceJDBCFetchConfiguration
-
addFetchInnerJoins
Description copied from interface:JDBCFetchConfiguration
Addsfields
to the set of fully-qualified field names to eagerly join when loading objects. Each class can have at most one to-many eagerly joined fields.- Specified by:
addFetchInnerJoins
in interfaceJDBCFetchConfiguration
-