public interface ClassStrategy extends Strategy
Modifier and Type | Method and Description |
---|---|
ResultObjectProvider |
customLoad(JDBCStore store,
boolean subclasses,
JDBCFetchConfiguration fetch,
long startIdx,
long endIdx)
Implement this method to customize obtaining a result containing all
instances of this class.
|
boolean |
customLoad(OpenJPAStateManager sm,
JDBCStore store,
JDBCFetchConfiguration fetch,
Result result)
Implement this method to customize loading from a
Result
into an instance. |
boolean |
customLoad(OpenJPAStateManager sm,
JDBCStore store,
PCState state,
JDBCFetchConfiguration fetch)
Implement this method to load the state of a given object, without
a previous
Result . |
boolean |
isPrimaryKeyObjectId(boolean hasAll)
Return true if the this class' primary key columns correspond to the
base class' primary key columns used to construct oid values.
|
Joins |
joinSuperclass(Joins joins,
boolean toThis)
Join the mapping and its superclass.
|
void |
setClassMapping(ClassMapping owner)
Set the class mapping using this strategy.
|
boolean |
supportsEagerSelect(Select sel,
OpenJPAStateManager sm,
JDBCStore store,
ClassMapping base,
JDBCFetchConfiguration fetch)
Return true if this strategy can perform the given select from
the given
base mapping. |
customDelete, customInsert, customUpdate, delete, getAlias, initialize, insert, isCustomDelete, isCustomInsert, isCustomUpdate, map, update
void setClassMapping(ClassMapping owner)
boolean isPrimaryKeyObjectId(boolean hasAll)
hasAll
- if true, there must be a primary key column for every
base class primary key column; if false the primary key
must only match a subset of the base class primary key columnsJoins joinSuperclass(Joins joins, boolean toThis)
toThis
- if false, inner join to the superclass table; if
true, outer join from the superclass table to this tableboolean supportsEagerSelect(Select sel, OpenJPAStateManager sm, JDBCStore store, ClassMapping base, JDBCFetchConfiguration fetch)
base
mapping.
The given state manager may be null if selecting multiple instances.ResultObjectProvider customLoad(JDBCStore store, boolean subclasses, JDBCFetchConfiguration fetch, long startIdx, long endIdx) throws SQLException
SQLException
boolean customLoad(OpenJPAStateManager sm, JDBCStore store, PCState state, JDBCFetchConfiguration fetch) throws SQLException, ClassNotFoundException
Result
. Return true if this method handles the
load. If the object does not exist in the data store, simply take no
action on it (but still return true). Return false to use default
loading.state
- if non-null, then you must initialize the state
and persistent object of the given state manager
(after determining the actual class of the object
from the database, if there are possible persistent
subclasses); initialization looks like this:
sm.initialize (pcClass, state)
SQLException
ClassNotFoundException
boolean customLoad(OpenJPAStateManager sm, JDBCStore store, JDBCFetchConfiguration fetch, Result result) throws SQLException
Result
into an instance. Return true if this mapping handles the
load; false if normal loading should proceed after calling this method.SQLException
Copyright © 2006–2017 Apache Software Foundation. All rights reserved.