Class FullClassStrategy
java.lang.Object
org.apache.openjpa.jdbc.meta.strats.AbstractStrategy
org.apache.openjpa.jdbc.meta.strats.AbstractClassStrategy
org.apache.openjpa.jdbc.meta.strats.FullClassStrategy
- All Implemented Interfaces:
Serializable
,ClassStrategy
,Strategy
Mapping for when the class maps all fields to its own table.
- Author:
- Abe White
- See Also:
-
Field Summary
Fields inherited from class org.apache.openjpa.jdbc.meta.strats.AbstractClassStrategy
cls
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
delete
(OpenJPAStateManager sm, JDBCStore store, RowManager rm) Set the where values appropriately to delete the proper instance, and set all relations on non-secondary tables as updates.getAlias()
Return the alias of this strategy.void
insert
(OpenJPAStateManager sm, JDBCStore store, RowManager rm) Set values for the mapping into the proper rows.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.void
map
(boolean adapt) Map the owning 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 givenbase
mapping.void
update
(OpenJPAStateManager sm, JDBCStore store, RowManager rm) Set values for the mapping into the proper rows.Methods inherited from class org.apache.openjpa.jdbc.meta.strats.AbstractClassStrategy
customLoad, customLoad, customLoad, joinSuperclass, setClassMapping
Methods inherited from class org.apache.openjpa.jdbc.meta.strats.AbstractStrategy
customDelete, customInsert, customUpdate, initialize, isCustomDelete, isCustomInsert, isCustomUpdate
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.openjpa.jdbc.meta.Strategy
customDelete, customInsert, customUpdate, initialize, isCustomDelete, isCustomInsert, isCustomUpdate
-
Field Details
-
ALIAS
- See Also:
-
-
Constructor Details
-
FullClassStrategy
public FullClassStrategy()
-
-
Method Details
-
getAlias
Description copied from interface:Strategy
Return the alias of this strategy. For custom strategies, return the full class name.- Specified by:
getAlias
in interfaceStrategy
- Overrides:
getAlias
in classAbstractStrategy
-
map
public void map(boolean adapt) Description copied from interface:Strategy
Map the owning mapping using this strategy.- Specified by:
map
in interfaceStrategy
- Overrides:
map
in classAbstractStrategy
- Parameters:
adapt
- if true, use the owning mapping's raw mapping info to set its ORM data; if false, ORM data will already be set
-
supportsEagerSelect
public boolean supportsEagerSelect(Select sel, OpenJPAStateManager sm, JDBCStore store, ClassMapping base, JDBCFetchConfiguration fetch) Description copied from interface:ClassStrategy
Return true if this strategy can perform the given select from the givenbase
mapping. The given state manager may be null if selecting multiple instances.- Specified by:
supportsEagerSelect
in interfaceClassStrategy
- Overrides:
supportsEagerSelect
in classAbstractClassStrategy
-
insert
Description copied from interface:Strategy
Set values for the mapping into the proper rows. For class mappings, this method will be called only after the corresponding method has been called for all fields of this mapping.- Specified by:
insert
in interfaceStrategy
- Overrides:
insert
in classAbstractStrategy
- Throws:
SQLException
-
update
Description copied from interface:Strategy
Set values for the mapping into the proper rows.- Specified by:
update
in interfaceStrategy
- Overrides:
update
in classAbstractStrategy
- Throws:
SQLException
- See Also:
-
delete
Description copied from interface:Strategy
Set the where values appropriately to delete the proper instance, and set all relations on non-secondary tables as updates. This allows foreign key analysis.- Specified by:
delete
in interfaceStrategy
- Overrides:
delete
in classAbstractStrategy
- Throws:
SQLException
- See Also:
-
isPrimaryKeyObjectId
public boolean isPrimaryKeyObjectId(boolean hasAll) Description copied from interface:ClassStrategy
Return true if the this class' primary key columns correspond to the base class' primary key columns used to construct oid values. Base classes always return true. Classes that join to the base class table, though, may not always join using the same columns the base class uses for oid values, or may not use all the columns. When performing a select, we will join down to the most-derived class that is identified by oid values. We cannot use non-primary key field values for joining during selects, because the field values to join on might be the ones we're trying to select! Similarly, we can only reconstruct oid values for selected objects using classes whose primary keys store oid values.- Specified by:
isPrimaryKeyObjectId
in interfaceClassStrategy
- Overrides:
isPrimaryKeyObjectId
in classAbstractClassStrategy
- Parameters:
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 columns
-