Package org.apache.openjpa.jdbc.meta
Class FieldMapping
- java.lang.Object
-
- org.apache.openjpa.meta.Extensions
-
- org.apache.openjpa.meta.FieldMetaData
-
- org.apache.openjpa.jdbc.meta.FieldMapping
-
- All Implemented Interfaces:
java.io.Serializable
,FieldStrategy
,Strategy
,ValueMapping
,Commentable
,MetaDataContext
,MetaDataModes
,ValueMetaData
public class FieldMapping extends FieldMetaData implements ValueMapping, FieldStrategy
Specialization of metadata for relational databases.- Author:
- Abe White
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.openjpa.meta.FieldMetaData
FieldMetaData.MemberProvider
-
-
Field Summary
-
Fields inherited from class org.apache.openjpa.meta.FieldMetaData
MANAGE_NONE, MANAGE_PERSISTENT, MANAGE_TRANSACTIONAL, MANY_TO_MANY, MANY_TO_ONE, NULL_DEFAULT, NULL_EXCEPTION, NULL_NONE, NULL_UNSET, ONE_TO_MANY, ONE_TO_ONE
-
Fields inherited from class org.apache.openjpa.meta.Extensions
OPENJPA
-
Fields inherited from interface org.apache.openjpa.lib.xml.Commentable
EMPTY_COMMENTS
-
Fields inherited from interface org.apache.openjpa.meta.MetaDataModes
MODE_ALL, MODE_ANN_MAPPING, MODE_MAPPING, MODE_MAPPING_INIT, MODE_META, MODE_NONE, MODE_QUERY
-
Fields inherited from interface org.apache.openjpa.jdbc.meta.ValueMapping
JOIN_EXPECTED_INVERSE, JOIN_FORWARD, JOIN_INVERSE, POLY_FALSE, POLY_JOINABLE, POLY_TRUE
-
Fields inherited from interface org.apache.openjpa.meta.ValueMetaData
CASCADE_AUTO, CASCADE_IMMEDIATE, CASCADE_NONE, MAPPED_BY_PK
-
-
Constructor Summary
Constructors Constructor Description FieldMapping(java.lang.String name, java.lang.Class<?> type, ClassMapping owner)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
appendIndex(SQLBuffer sql, Select sel, Joins joins)
Append the ordered column alias to the given statement.void
appendIsEmpty(SQLBuffer sql, Select sel, Joins joins)
Append a where clause to the given statement checking if this value is empty.void
appendIsNotEmpty(SQLBuffer sql, Select sel, Joins joins)
Append a where clause to the given statement checking if this value is not empty.void
appendIsNotNull(SQLBuffer sql, Select sel, Joins joins)
Append a where clause to the given statement checking if this value is not null.void
appendIsNull(SQLBuffer sql, Select sel, Joins joins)
Append a where clause to the given statement checking if this value is null.void
appendSize(SQLBuffer sql, Select sel, Joins joins)
Append a where clause to the given statement checking the size of the value.void
appendType(SQLBuffer sql, Select sel, Joins joins)
Append the entity discriminator value to the given statement.void
clearMapping()
Clear mapping information, including strategy.void
copy(FieldMetaData fmd)
Copy state from the given field to this one.void
copyMappingInfo(FieldMapping fm)
Copy mapping info from the given instance to this one.void
copyMappingInfo(ValueMapping vm)
Copy mapping info from the given instance to this one.void
customDelete(OpenJPAStateManager sm, JDBCStore store)
Override this method to customize flushing this mapping.void
customInsert(OpenJPAStateManager sm, JDBCStore store)
Override this method to customize flushing this mapping.void
customUpdate(OpenJPAStateManager sm, JDBCStore store)
Override this method to customize flushing this mapping.void
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.void
deleteRow(OpenJPAStateManager sm, JDBCStore store, RowManager rm)
Delete the row for this object if the reference foreign key exists.java.lang.String
getAlias()
Return the alias of this strategy.FieldMapping
getBi_1ToM_JTField()
FieldMapping
getBi_MTo1_JTField()
ForeignKey
getBi1ToMElemFK()
ForeignKey
getBi1ToMJoinFK()
ColumnIO
getColumnIO()
I/O information on the foreign key, or columns if this value doesn't have a key.Column[]
getColumns()
The columns that hold the data for this value.ClassMapping
getDeclaredTypeMapping()
Convenience method to perform cast fromValueMetaData.getDeclaredTypeMetaData()
.ClassMapping
getDeclaringMapping()
Convenience method to perform cast fromFieldMetaData.getDeclaringMetaData()
ClassMapping
getDefiningMapping()
Convenience method to perform cast fromFieldMetaData.getDefiningMetaData()
int
getEagerFetchMode()
The eager fetch mode, as one of the eager constants inJDBCFetchConfiguration
.ValueMapping
getElementMapping()
Convenience method to perform cast fromFieldMetaData.getElement()
ClassMapping
getEmbeddedMapping()
Convenience method to perform cast fromValueMetaData.getEmbeddedMetaData()
.FieldMapping
getFieldMapping()
Convenience method to perform cast fromValueMetaData.getFieldMetaData()
.ForeignKey
getForeignKey()
If this value joins to another record, the foreign key.ForeignKey
getForeignKey(ClassMapping target)
Return an equivalent of this value's foreign key, but joining to the given target, which may be an unjoined subclass of this value's related type.ValueHandler
getHandler()
The handler used for this value, or null if none.ClassMapping[]
getIndependentTypeMappings()
Return all independently-mapped joinable types for this value, depending on whether this value is polymorphic and how the related type is mapped.FieldMapping[]
getInverseMappings()
Convenience method to perform cast fromFieldMetaData.getInverseMetaDatas()
ColumnIO
getJoinColumnIO()
I/O information on the join columns.int
getJoinDirection()
The join direction.ForeignKey
getJoinForeignKey()
Foreign key linking the field table to the class' primary table.Index
getJoinIndex()
Index on join foreign key columns.Unique[]
getJoinTableUniques()
Unique
getJoinUnique()
Unique constraint on join foreign key columns.ValueMapping
getKeyMapping()
Convenience method to perform cast fromFieldMetaData.getKey()
FieldMapping
getMappedByMapping()
Convenience method to perform cast fromFieldMetaData.getMappedByMetaData()
FieldMappingInfo
getMappingInfo()
Raw mapping data about field's join to parent table, as well as miscellaneous specialized columns like order column.MappingRepository
getMappingRepository()
Convenience method to perform cast fromFieldMetaData.getRepository()
Column
getOrderColumn()
Field order column, if any.ColumnIO
getOrderColumnIO()
I/O information for order column.int
getPolymorphic()
The degree to which this relation is polymorphic.Row
getRow(OpenJPAStateManager sm, JDBCStore store, RowManager rm, int action)
Return the row to use for this field.int
getSelectSubclasses()
Return theorg.apache.openjpa.sql.Select
subclasses constant for loading this relation, based on how the related type is mapped, whether this relation is polymorphic, and whether it is configured to use class criteria.FieldStrategy
getStrategy()
The strategy used to map this mapping.Table
getTable()
The mapping's primary table.ClassMapping
getTypeMapping()
Convenience method to perform cast fromValueMetaData.getTypeMetaData()
.boolean
getUseClassCriteria()
Whether to use class criteria when joining to related type.Index
getValueIndex()
Index on this value's columns, or null if none.ValueMappingInfo
getValueInfo()
Raw mapping data.FieldMapping
getValueMappedByMapping()
Convenience method to perform cast fromValueMetaData.getValueMappedByMetaData()
.ValueMapping
getValueMapping()
Convenience method to perform cast fromFieldMetaData.getValue()
Unique
getValueUnique()
Unique constraint on this value's columns, or null if none.boolean
hasMapsIdCols()
void
initialize()
Perform caching and other initialization operations.void
insert(OpenJPAStateManager sm, JDBCStore store, RowManager rm)
Set values for the mapping into the proper rows.boolean
isBi1To1JT()
boolean
isBidirectionalJoinTableMappingNonOwner()
Affirms if this field is the non-owning side of a bidirectional relation with a join table.boolean
isBidirectionalJoinTableMappingOwner()
Affirms if this field is the owning side of a bidirectional relation with a join table.boolean
isBiMTo1JT()
java.lang.Boolean
isCustomDelete(OpenJPAStateManager sm, JDBCStore store)
ReturnBoolean.FALSE
if this mapping does not customize the delete process,Boolean.TRUE
if it does, or null if it does customize the delete, but also relies on the standard delete method being called.java.lang.Boolean
isCustomInsert(OpenJPAStateManager sm, JDBCStore store)
ReturnBoolean.FALSE
if this mapping does not customize the insert process,Boolean.TRUE
if it does, or null if it does customize the insert, but also relies on the standard insert method being called.java.lang.Boolean
isCustomUpdate(OpenJPAStateManager sm, JDBCStore store)
ReturnBoolean.FALSE
if this mapping does not customize the update process,Boolean.TRUE
if it does, or null if it does customize the update, but also relies on the standard update method being called.boolean
isDelayCapable()
boolean
isEagerSelectToMany()
Whether the eager joins or selects used by this field are to-many.boolean
isJoinOuter()
Whether to use an outer join from the class' primary table.boolean
isMapped()
Returns true if field class does not use the "none" strategy (including if it has a null strategy, and therefore is probably in the process of being mapped).boolean
isNonDefaultMappingUsingJoinTableStrategy()
boolean
isUni1To1JT()
boolean
isUni1ToMFK()
boolean
isUniMTo1JT()
boolean
isVersionable()
Return true if this field can be used as part of a state image for optimistic locking.Joins
join(Joins joins, boolean forceOuter)
Join this value to the class table.Joins
join(Joins joins, boolean forceOuter, boolean toMany)
Joins from the owning class' table to the table where this field lies using the join foreign key.Joins
join(Select sel)
Return any joins needed to get from the primary table to this table.Joins
joinKey(Joins joins, boolean forceOuter)
Join the key value to the class table.Joins
joinKeyRelation(Joins joins, boolean forceOuter, boolean traverse)
Join this value's table to the table for the related first class object key type, if any.Joins
joinRelation(Joins joins, boolean forceOuter, boolean traverse)
Join this value's table to the table for the related first class object type, if any.void
load(OpenJPAStateManager sm, JDBCStore store, JDBCFetchConfiguration fetch)
Load secondary data using a connection from the store manager.void
load(OpenJPAStateManager sm, JDBCStore store, JDBCFetchConfiguration fetch, Result res)
Load virtual row data; the given result is not guaranteed to contain data for this field, so the field mapping should make sure the result contains its needed column data before loading.void
loadEagerJoin(OpenJPAStateManager sm, JDBCStore store, JDBCFetchConfiguration fetch, Result res)
Load the joined eager result.java.lang.Object
loadEagerParallel(OpenJPAStateManager sm, JDBCStore store, JDBCFetchConfiguration fetch, java.lang.Object res)
Load the batched eager result.java.lang.Object
loadKeyProjection(JDBCStore store, JDBCFetchConfiguration fetch, Result res, Joins joins)
Load this field's key value using the given result.java.lang.Object
loadProjection(JDBCStore store, JDBCFetchConfiguration fetch, Result res, Joins joins)
Load this field value using the given result.void
map(boolean adapt)
Map the owning mapping using this strategy.void
mapConstraints(java.lang.String name, boolean adapt)
Deprecated.void
mapConstraints(DBIdentifier name, boolean adapt)
Map indexes and constraints for this value, using the currentValueMappingInfo
.void
mapJoin(boolean adapt, boolean joinRequired)
Map this field to its table, optionally requiring that it be in another table.void
mapPrimaryKey(boolean adapt)
Maps the primary key on the secondary table for this field, if the user's defaults create one.void
orderLocal(Select sel, ClassMapping elem, Joins joins)
Add ordering to the given select for all non-relation order values, including the synthetic order column, if any.void
orderRelation(Select sel, ClassMapping elem, Joins joins)
Add ordering to the given select for all relation-based values.void
refSchemaComponents()
Increment the reference count of used schema components.boolean
resolve(int mode)
Resolve and validate metadata.int
select(Select sel, OpenJPAStateManager sm, JDBCStore store, JDBCFetchConfiguration fetch, int eagerMode)
Select the virtual row columns of this mapping.void
selectEagerJoin(Select sel, OpenJPAStateManager sm, JDBCStore store, JDBCFetchConfiguration fetch, int eagerMode)
Fill in joined select to related objects.void
selectEagerParallel(SelectExecutor sel, OpenJPAStateManager sm, JDBCStore store, JDBCFetchConfiguration fetch, int eagerMode)
Fill in parallel eager select for related objects.void
setBi1MJoinTableInfo()
void
setColumnIO(ColumnIO io)
I/O information on the foreign key, or columns if this value doesn't have a key.void
setColumns(Column[] cols)
The columns that hold the data for this value.void
setEagerFetchMode(int mode)
The eager fetch mode, as one of the eager constants inJDBCFetchConfiguration
.void
setFieldMapping(FieldMapping owner)
Set the class mapping using this strategy.void
setForeignKey(ForeignKey fk)
If this value joins to another record, the foreign key.void
setForeignKey(Row row, OpenJPAStateManager sm)
Sets this value's foreign key to the given related object.void
setForeignKey(Row row, OpenJPAStateManager sm, int targetNumber)
Sets this value's foreign key to the given related object.void
setHandler(ValueHandler handler)
The handler used for this value, or null if none.void
setJoinColumnIO(ColumnIO io)
I/O information on the join columns.void
setJoinDirection(int direction)
The join direction.void
setJoinForeignKey(ForeignKey fk)
Foreign key linking the field table to the class' primary table.void
setJoinIndex(Index idx)
Index on join foreign key columns.void
setJoinOuter(boolean outer)
Whether to use an outer join from the class' primary table.void
setJoinTableUniques(Unique[] unqs)
void
setJoinUnique(Unique unq)
Unique constraint on join foreign key columns.void
setMappedByIdValue(java.lang.Object target, java.lang.Object val, java.lang.String mappedByIdFieldName)
void
setMapsIdCols(boolean hasMapsIdCols)
void
setOrderColumn(Column order)
Field order column, if any.void
setOrderColumnIO(ColumnIO io)
I/O information for order column.void
setPolymorphic(int poly)
The degree to which this relation is polymorphic.void
setStrategy(FieldStrategy strategy, java.lang.Boolean adapt)
The strategy used to map this mapping.void
setUseClassCriteria(boolean criteria)
Whether to use class criteria when joining to related type.void
setValueIndex(Index idx)
Index on this value's columns, or null if none.void
setValueUnique(Unique unq)
Unique constraint on this value's columns, or null if none.int
supportsSelect(Select sel, int type, OpenJPAStateManager sm, JDBCStore store, JDBCFetchConfiguration fetch)
Return whether this mapping can perform the given select type.void
syncMappingInfo()
UpdateMappingInfo
with our current mapping information.java.lang.Object
toDataStoreValue(java.lang.Object val, JDBCStore store)
Translate the given external field value to its datastore equivalent.java.lang.Object
toKeyDataStoreValue(java.lang.Object val, JDBCStore store)
Translate the given key value to its datastore equivalent.void
update(OpenJPAStateManager sm, JDBCStore store, RowManager rm)
Set values for the mapping into the proper rows.protected boolean
validateDataStoreExtensionPrefix(java.lang.String prefix)
Return true if extensions starting with the given official datastore prefix should be validated for this runtime.void
where(OpenJPAStateManager sm, JDBCStore store, RowManager rm, java.lang.Object prevValue)
Add a WHERE condition to the row for this field such that the field's current DB value must equal the given previous value.void
whereForeignKey(Row row, OpenJPAStateManager sm)
Sets this value's foreign key to the given related object.void
wherePrimaryKey(Select sel, OpenJPAStateManager sm, JDBCStore store)
Add awherePrimaryKey
orwhereForeignKey
condition to the given select, depending on whether we have a join foreign key.-
Methods inherited from class org.apache.openjpa.meta.FieldMetaData
addEmbeddedMetaData, addEmbeddedMetaData, addExtensionKeys, backingMember, compareTo, copy, equals, getAccessType, getAssociationType, getBackingMember, getCascadeAttach, getCascadeDelete, getCascadeDetach, getCascadePersist, getCascadeRefresh, getComments, getConverter, getCustomFetchGroups, getDeclaredIndex, getDeclaredType, getDeclaredTypeCode, getDeclaredTypeMetaData, getDeclaringMetaData, getDeclaringType, getDefiningMetaData, getElement, getEmbeddedMetaData, getExternalizer, getExternalizerMethod, getExternalValue, getExternalValueMap, getExternalValues, getFactory, getFactoryMethod, getFieldMetaData, getFieldValue, getFieldValueMap, getFullName, getFullName, getIndex, getInitializer, getInverse, getInverseMetaDatas, getKey, getListingIndex, getLoadFetchGroup, getManagement, getMappedBy, getMappedByField, getMappedByIdValue, getMappedByMetaData, getName, getNullValue, getObjectIdFieldType, getObjectIdFieldTypeCode, getOrderDeclaration, getOrders, getPrimaryKeyIndex, getProxyType, getRealName, getRelationType, getRepository, getResolve, getSetterName, getType, getTypeCode, getTypeMetaData, getTypeOverride, getUpdateStrategy, getUseSchemaElement, getValue, getValueMappedBy, getValueMappedByMetaData, getValueSequenceMetaData, getValueSequenceName, getValueStrategy, hashCode, isDeclaredTypePC, isDefaultFetchGroupExplicit, isElementCollection, isEmbedded, isEmbeddedPC, isExplicit, isExternalized, isInDefaultFetchGroup, isInFetchGroup, isLRS, isMappedById, isPersistentCollection, isPrimaryKey, isSerialized, isStream, isTransient, isTypePC, isUsedInOrderBy, isValueGenerated, isVersion, order, setAccessType, setAssociationType, setCascadeAttach, setCascadeDelete, setCascadeDetach, setCascadePersist, setCascadePersist, setCascadeRefresh, setComments, setConverter, setDeclaredIndex, setDeclaredType, setDeclaredTypeCode, setDeclaringType, setDefaultFetchGroupExplicit, setDelayCapable, setElementCollection, setEmbedded, setExplicit, setExternalizer, setExternalValues, setFactory, setInDefaultFetchGroup, setIndex, setInFetchGroup, setInitializer, setInverse, setListingIndex, setLoadFetchGroup, setLRS, setManagement, setMappedBy, setMappedByIdValue, setNullValue, setOrderDeclaration, setOrders, setPersistentCollection, setPrimaryKey, setPrimaryKeyIndex, setProxyType, setResolve, setResolve, setSerialized, setStream, setTransient, setType, setTypeCode, setTypeOverride, setUpdateStrategy, setUsedInOrderBy, setUseSchemaElement, setUsesImplData, setUsesIntermediate, setValueGenerated, setValueMappedBy, setValueSequenceName, setValueStrategy, setVersion, toString, usesImplData, usesIntermediate
-
Methods inherited from class org.apache.openjpa.meta.Extensions
addExtension, addExtension, copy, getBooleanExtension, getBooleanExtension, getDoubleExtension, getDoubleExtension, getEmbeddedExtensions, getEmbeddedExtensions, getExtensionKeys, getExtensionKeys, getExtensionVendors, getIntExtension, getIntExtension, getObjectExtension, getObjectExtension, getStringExtension, getStringExtension, hasExtension, hasExtension, isEmpty, removeEmbeddedExtensions, removeEmbeddedExtensions, removeExtension, removeExtension, validateExtensionKeys
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.openjpa.meta.MetaDataContext
getRepository
-
Methods inherited from interface org.apache.openjpa.meta.ValueMetaData
addEmbeddedMetaData, addEmbeddedMetaData, copy, getCascadeAttach, getCascadeDelete, getCascadeDetach, getCascadePersist, getCascadeRefresh, getDeclaredType, getDeclaredTypeCode, getDeclaredTypeMetaData, getEmbeddedMetaData, getFieldMetaData, getResolve, getType, getTypeCode, getTypeMetaData, getTypeOverride, getValueMappedBy, getValueMappedByMetaData, isDeclaredTypePC, isEmbedded, isEmbeddedPC, isSerialized, isTypePC, setCascadeAttach, setCascadeDelete, setCascadeDetach, setCascadePersist, setCascadePersist, setCascadeRefresh, setDeclaredType, setDeclaredTypeCode, setEmbedded, setResolve, setResolve, setSerialized, setType, setTypeCode, setTypeOverride, setValueMappedBy
-
-
-
-
Constructor Detail
-
FieldMapping
public FieldMapping(java.lang.String name, java.lang.Class<?> type, ClassMapping owner)
Constructor.
-
-
Method Detail
-
getMappingInfo
public FieldMappingInfo getMappingInfo()
Raw mapping data about field's join to parent table, as well as miscellaneous specialized columns like order column.
-
getStrategy
public FieldStrategy getStrategy()
The strategy used to map this mapping.
-
setStrategy
public void setStrategy(FieldStrategy strategy, java.lang.Boolean adapt)
The strategy used to map this mapping. Theadapt
parameter determines whether to adapt when mapping the strategy; use null if the strategy should not be mapped.
-
getTable
public Table getTable()
The mapping's primary table.
-
getJoinColumnIO
public ColumnIO getJoinColumnIO()
I/O information on the join columns.
-
setJoinColumnIO
public void setJoinColumnIO(ColumnIO io)
I/O information on the join columns.
-
getJoinForeignKey
public ForeignKey getJoinForeignKey()
Foreign key linking the field table to the class' primary table.
-
setJoinForeignKey
public void setJoinForeignKey(ForeignKey fk)
Foreign key linking the field table to the class' primary table.
-
getJoinUnique
public Unique getJoinUnique()
Unique constraint on join foreign key columns.
-
setJoinUnique
public void setJoinUnique(Unique unq)
Unique constraint on join foreign key columns.
-
getJoinTableUniques
public Unique[] getJoinTableUniques()
-
setJoinTableUniques
public void setJoinTableUniques(Unique[] unqs)
-
getJoinIndex
public Index getJoinIndex()
Index on join foreign key columns.
-
setJoinIndex
public void setJoinIndex(Index idx)
Index on join foreign key columns.
-
isJoinOuter
public boolean isJoinOuter()
Whether to use an outer join from the class' primary table.
-
setJoinOuter
public void setJoinOuter(boolean outer)
Whether to use an outer join from the class' primary table.
-
getOrderColumn
public Column getOrderColumn()
Field order column, if any.
-
setOrderColumn
public void setOrderColumn(Column order)
Field order column, if any.
-
getOrderColumnIO
public ColumnIO getOrderColumnIO()
I/O information for order column.
-
setOrderColumnIO
public void setOrderColumnIO(ColumnIO io)
I/O information for order column.
-
refSchemaComponents
public void refSchemaComponents()
Increment the reference count of used schema components.- Specified by:
refSchemaComponents
in interfaceValueMapping
-
clearMapping
public void clearMapping()
Clear mapping information, including strategy.- Specified by:
clearMapping
in interfaceValueMapping
-
syncMappingInfo
public void syncMappingInfo()
UpdateMappingInfo
with our current mapping information.- Specified by:
syncMappingInfo
in interfaceValueMapping
-
isMapped
public boolean isMapped()
Returns true if field class does not use the "none" strategy (including if it has a null strategy, and therefore is probably in the process of being mapped).- Overrides:
isMapped
in classFieldMetaData
-
getEagerFetchMode
public int getEagerFetchMode()
The eager fetch mode, as one of the eager constants inJDBCFetchConfiguration
.
-
setEagerFetchMode
public void setEagerFetchMode(int mode)
The eager fetch mode, as one of the eager constants inJDBCFetchConfiguration
.
-
getMappingRepository
public MappingRepository getMappingRepository()
Convenience method to perform cast fromFieldMetaData.getRepository()
- Specified by:
getMappingRepository
in interfaceValueMapping
-
getDefiningMapping
public ClassMapping getDefiningMapping()
Convenience method to perform cast fromFieldMetaData.getDefiningMetaData()
-
getDeclaringMapping
public ClassMapping getDeclaringMapping()
Convenience method to perform cast fromFieldMetaData.getDeclaringMetaData()
-
getKeyMapping
public ValueMapping getKeyMapping()
Convenience method to perform cast fromFieldMetaData.getKey()
-
getElementMapping
public ValueMapping getElementMapping()
Convenience method to perform cast fromFieldMetaData.getElement()
-
getValueMapping
public ValueMapping getValueMapping()
Convenience method to perform cast fromFieldMetaData.getValue()
-
getMappedByMapping
public FieldMapping getMappedByMapping()
Convenience method to perform cast fromFieldMetaData.getMappedByMetaData()
-
getInverseMappings
public FieldMapping[] getInverseMappings()
Convenience method to perform cast fromFieldMetaData.getInverseMetaDatas()
-
resolve
public boolean resolve(int mode)
Description copied from class:FieldMetaData
Resolve and validate metadata. Return true if already resolved.- Specified by:
resolve
in interfaceValueMetaData
- Overrides:
resolve
in classFieldMetaData
-
copyMappingInfo
public void copyMappingInfo(FieldMapping fm)
Copy mapping info from the given instance to this one.
-
copy
public void copy(FieldMetaData fmd)
Description copied from class:FieldMetaData
Copy state from the given field to this one. Do not copy mapping information.- Overrides:
copy
in classFieldMetaData
-
validateDataStoreExtensionPrefix
protected boolean validateDataStoreExtensionPrefix(java.lang.String prefix)
Description copied from class:Extensions
Return true if extensions starting with the given official datastore prefix should be validated for this runtime.- Overrides:
validateDataStoreExtensionPrefix
in classExtensions
-
getAlias
public java.lang.String getAlias()
Description copied from interface:Strategy
Return the alias of this strategy. For custom strategies, return the full class name.
-
map
public void map(boolean adapt)
Description copied from interface:Strategy
Map the owning mapping using this strategy.
-
mapJoin
public void mapJoin(boolean adapt, boolean joinRequired)
Map this field to its table, optionally requiring that it be in another table. Utility method for use by mapping strategies.
-
mapPrimaryKey
public void mapPrimaryKey(boolean adapt)
Maps the primary key on the secondary table for this field, if the user's defaults create one. This must be called after this field is mapped so that it's table has its columns set.
-
initialize
public void initialize()
Description copied from interface:Strategy
Perform caching and other initialization operations. This method is called afterStrategy.map(boolean)
, and after all related components have been mapped as well.- Specified by:
initialize
in interfaceStrategy
-
insert
public void insert(OpenJPAStateManager sm, JDBCStore store, RowManager rm) throws java.sql.SQLException
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.
-
setMappedByIdValue
public void setMappedByIdValue(java.lang.Object target, java.lang.Object val, java.lang.String mappedByIdFieldName)
-
update
public void update(OpenJPAStateManager sm, JDBCStore store, RowManager rm) throws java.sql.SQLException
Description copied from interface:Strategy
Set values for the mapping into the proper rows.- Specified by:
update
in interfaceStrategy
- Throws:
java.sql.SQLException
- See Also:
Strategy.insert(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.sql.RowManager)
-
delete
public void delete(OpenJPAStateManager sm, JDBCStore store, RowManager rm) throws java.sql.SQLException
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
- Throws:
java.sql.SQLException
- See Also:
Strategy.insert(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore, org.apache.openjpa.jdbc.sql.RowManager)
-
deleteRow
public void deleteRow(OpenJPAStateManager sm, JDBCStore store, RowManager rm) throws java.sql.SQLException
Delete the row for this object if the reference foreign key exists. Utility method for use by mapping strategies.- Throws:
java.sql.SQLException
-
getRow
public Row getRow(OpenJPAStateManager sm, JDBCStore store, RowManager rm, int action) throws java.sql.SQLException
Return the row to use for this field. This method is meant only for single-value fields that might reside in a table that is joined to the primary table through the join foreign key. It is not meant for multi-valued fields like collections and maps. The method checks whether we're using an outer join and if so it deletes the field's previous value, then if the field is non-null returns an insert row for the new value. The join foreign key will already be set on the returned row; mapping strategies just need to set their own values. Utility method for use by mapping strategies.- Throws:
java.sql.SQLException
-
isCustomInsert
public java.lang.Boolean isCustomInsert(OpenJPAStateManager sm, JDBCStore store)
Description copied from interface:Strategy
ReturnBoolean.FALSE
if this mapping does not customize the insert process,Boolean.TRUE
if it does, or null if it does customize the insert, but also relies on the standard insert method being called. Implement theStrategy.customInsert(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore)
method to implement the custom insertion behavior.- Specified by:
isCustomInsert
in interfaceStrategy
-
isCustomUpdate
public java.lang.Boolean isCustomUpdate(OpenJPAStateManager sm, JDBCStore store)
Description copied from interface:Strategy
ReturnBoolean.FALSE
if this mapping does not customize the update process,Boolean.TRUE
if it does, or null if it does customize the update, but also relies on the standard update method being called. Implement theStrategy.customUpdate(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore)
method to override the default update behavior.- Specified by:
isCustomUpdate
in interfaceStrategy
-
isCustomDelete
public java.lang.Boolean isCustomDelete(OpenJPAStateManager sm, JDBCStore store)
Description copied from interface:Strategy
ReturnBoolean.FALSE
if this mapping does not customize the delete process,Boolean.TRUE
if it does, or null if it does customize the delete, but also relies on the standard delete method being called. Implement theStrategy.customDelete(org.apache.openjpa.kernel.OpenJPAStateManager, org.apache.openjpa.jdbc.kernel.JDBCStore)
method to override the default deletion behavior.- Specified by:
isCustomDelete
in interfaceStrategy
-
customInsert
public void customInsert(OpenJPAStateManager sm, JDBCStore store) throws java.sql.SQLException
Description copied from interface:Strategy
Override this method to customize flushing this mapping. For classes, this method must also flush all fields. For fields, this method is called after the owning object is inserted, so if this field is in a row with other fields, that row will already exist.- Specified by:
customInsert
in interfaceStrategy
- Throws:
java.sql.SQLException
-
customUpdate
public void customUpdate(OpenJPAStateManager sm, JDBCStore store) throws java.sql.SQLException
Description copied from interface:Strategy
Override this method to customize flushing this mapping. For classes, this method must also flush all fields.- Specified by:
customUpdate
in interfaceStrategy
- Throws:
java.sql.SQLException
-
customDelete
public void customDelete(OpenJPAStateManager sm, JDBCStore store) throws java.sql.SQLException
Description copied from interface:Strategy
Override this method to customize flushing this mapping. For classes, this method must also flush all fields. For fields, this method will be called after the owning object is deleted.- Specified by:
customDelete
in interfaceStrategy
- Throws:
java.sql.SQLException
-
setFieldMapping
public void setFieldMapping(FieldMapping owner)
Description copied from interface:FieldStrategy
Set the class mapping using this strategy. This will be called before use.- Specified by:
setFieldMapping
in interfaceFieldStrategy
-
supportsSelect
public int supportsSelect(Select sel, int type, OpenJPAStateManager sm, JDBCStore store, JDBCFetchConfiguration fetch)
Description copied from interface:FieldStrategy
Return whether this mapping can perform the given select type. Return 0 if the given type is not supported. If the given type is an eager parallel type, return the number of UNIONed selects necessary to fetch the data. Otherwise, return any positive number if the type is supported. The given state manager may be null if selecting multiple instances.- Specified by:
supportsSelect
in interfaceFieldStrategy
- See Also:
Select
-
selectEagerParallel
public void selectEagerParallel(SelectExecutor sel, OpenJPAStateManager sm, JDBCStore store, JDBCFetchConfiguration fetch, int eagerMode)
Description copied from interface:FieldStrategy
Fill in parallel eager select for related objects.
-
selectEagerJoin
public void selectEagerJoin(Select sel, OpenJPAStateManager sm, JDBCStore store, JDBCFetchConfiguration fetch, int eagerMode)
Description copied from interface:FieldStrategy
Fill in joined select to related objects.
-
isEagerSelectToMany
public boolean isEagerSelectToMany()
Description copied from interface:FieldStrategy
Whether the eager joins or selects used by this field are to-many.- Specified by:
isEagerSelectToMany
in interfaceFieldStrategy
-
select
public int select(Select sel, OpenJPAStateManager sm, JDBCStore store, JDBCFetchConfiguration fetch, int eagerMode)
Description copied from interface:FieldStrategy
Select the virtual row columns of this mapping.- Specified by:
select
in interfaceFieldStrategy
- Parameters:
sel
- the select to add tosm
- the instance being loaded, or null if not initialized yet or selecting for multiple instancesstore
- the current store managerfetch
- fetch configurationeagerMode
- the eager fetch mode to use; this may be more restrictive than the mode of the fetch configuration- Returns:
- > 0 if this mapping requires the selected data (if any), 0 if it selected data but does not require it, or < 0 if no data was selected
-
join
public Joins join(Select sel)
Return any joins needed to get from the primary table to this table.
-
wherePrimaryKey
public void wherePrimaryKey(Select sel, OpenJPAStateManager sm, JDBCStore store)
Add awherePrimaryKey
orwhereForeignKey
condition to the given select, depending on whether we have a join foreign key.
-
orderLocal
public void orderLocal(Select sel, ClassMapping elem, Joins joins)
Add ordering to the given select for all non-relation order values, including the synthetic order column, if any.- Parameters:
elem
- the related type we're fetching, or nulljoins
- the joins to this field's table
-
orderRelation
public void orderRelation(Select sel, ClassMapping elem, Joins joins)
Add ordering to the given select for all relation-based values.- Parameters:
elem
- the related type we're fetchingjoins
- the joins across the relation
-
loadEagerParallel
public java.lang.Object loadEagerParallel(OpenJPAStateManager sm, JDBCStore store, JDBCFetchConfiguration fetch, java.lang.Object res) throws java.sql.SQLException
Description copied from interface:FieldStrategy
Load the batched eager result.- Specified by:
loadEagerParallel
in interfaceFieldStrategy
res
- originally theResult
to load from, but this method may return a processed result form that will be passed to subsequent calls- Throws:
java.sql.SQLException
-
loadEagerJoin
public void loadEagerJoin(OpenJPAStateManager sm, JDBCStore store, JDBCFetchConfiguration fetch, Result res) throws java.sql.SQLException
Description copied from interface:FieldStrategy
Load the joined eager result.- Specified by:
loadEagerJoin
in interfaceFieldStrategy
- Throws:
java.sql.SQLException
-
load
public void load(OpenJPAStateManager sm, JDBCStore store, JDBCFetchConfiguration fetch, Result res) throws java.sql.SQLException
Description copied from interface:FieldStrategy
Load virtual row data; the given result is not guaranteed to contain data for this field, so the field mapping should make sure the result contains its needed column data before loading.- Specified by:
load
in interfaceFieldStrategy
- Throws:
java.sql.SQLException
-
load
public void load(OpenJPAStateManager sm, JDBCStore store, JDBCFetchConfiguration fetch) throws java.sql.SQLException
Description copied from interface:FieldStrategy
Load secondary data using a connection from the store manager.- Specified by:
load
in interfaceFieldStrategy
- Throws:
java.sql.SQLException
-
toDataStoreValue
public java.lang.Object toDataStoreValue(java.lang.Object val, JDBCStore store)
Description copied from interface:FieldStrategy
Translate the given external field value to its datastore equivalent. If the mapping occupies multiple columns in the datastore, return an object array, else return a single object. Simply returns the given object by default.- Specified by:
toDataStoreValue
in interfaceFieldStrategy
-
toKeyDataStoreValue
public java.lang.Object toKeyDataStoreValue(java.lang.Object val, JDBCStore store)
Description copied from interface:FieldStrategy
Translate the given key value to its datastore equivalent. If the mapping occupies multiple columns in the datastore, return an object array, else return a single object. Simply returns the given object by default.- Specified by:
toKeyDataStoreValue
in interfaceFieldStrategy
-
appendIsEmpty
public void appendIsEmpty(SQLBuffer sql, Select sel, Joins joins)
Description copied from interface:FieldStrategy
Append a where clause to the given statement checking if this value is empty. Appends impossible-to-satisfy SQL by default.- Specified by:
appendIsEmpty
in interfaceFieldStrategy
-
appendIsNotEmpty
public void appendIsNotEmpty(SQLBuffer sql, Select sel, Joins joins)
Description copied from interface:FieldStrategy
Append a where clause to the given statement checking if this value is not empty. Appends always-satisfied SQL by default.- Specified by:
appendIsNotEmpty
in interfaceFieldStrategy
-
appendIsNull
public void appendIsNull(SQLBuffer sql, Select sel, Joins joins)
Description copied from interface:FieldStrategy
Append a where clause to the given statement checking if this value is null.- Specified by:
appendIsNull
in interfaceFieldStrategy
-
appendIsNotNull
public void appendIsNotNull(SQLBuffer sql, Select sel, Joins joins)
Description copied from interface:FieldStrategy
Append a where clause to the given statement checking if this value is not null.- Specified by:
appendIsNotNull
in interfaceFieldStrategy
-
appendSize
public void appendSize(SQLBuffer sql, Select sel, Joins joins)
Description copied from interface:FieldStrategy
Append a where clause to the given statement checking the size of the value.- Specified by:
appendSize
in interfaceFieldStrategy
-
appendIndex
public void appendIndex(SQLBuffer sql, Select sel, Joins joins)
Description copied from interface:FieldStrategy
Append the ordered column alias to the given statement.- Specified by:
appendIndex
in interfaceFieldStrategy
-
appendType
public void appendType(SQLBuffer sql, Select sel, Joins joins)
Description copied from interface:FieldStrategy
Append the entity discriminator value to the given statement.- Specified by:
appendType
in interfaceFieldStrategy
-
join
public Joins join(Joins joins, boolean forceOuter)
Description copied from interface:FieldStrategy
Join this value to the class table. Does nothing by default.- Specified by:
join
in interfaceFieldStrategy
-
joinKey
public Joins joinKey(Joins joins, boolean forceOuter)
Description copied from interface:FieldStrategy
Join the key value to the class table. Does nothing by default.- Specified by:
joinKey
in interfaceFieldStrategy
-
joinRelation
public Joins joinRelation(Joins joins, boolean forceOuter, boolean traverse)
Description copied from interface:FieldStrategy
Join this value's table to the table for the related first class object type, if any. Does nothing by default.- Specified by:
joinRelation
in interfaceFieldStrategy
traverse
- if true, throw proper exception if it is not possible for this mapping to traverse into the related type
-
joinKeyRelation
public Joins joinKeyRelation(Joins joins, boolean forceOuter, boolean traverse)
Description copied from interface:FieldStrategy
Join this value's table to the table for the related first class object key type, if any. Does nothing by default.- Specified by:
joinKeyRelation
in interfaceFieldStrategy
traverse
- if true, throw proper exception if it is not possible for this mapping to traverse into the related type
-
join
public Joins join(Joins joins, boolean forceOuter, boolean toMany)
Joins from the owning class' table to the table where this field lies using the join foreign key. Utility method for use by mapping strategies.
-
loadProjection
public java.lang.Object loadProjection(JDBCStore store, JDBCFetchConfiguration fetch, Result res, Joins joins) throws java.sql.SQLException
Description copied from interface:FieldStrategy
Load this field value using the given result. The result will contain the columns fromValueMapping.getColumns()
.- Specified by:
loadProjection
in interfaceFieldStrategy
- Throws:
java.sql.SQLException
-
loadKeyProjection
public java.lang.Object loadKeyProjection(JDBCStore store, JDBCFetchConfiguration fetch, Result res, Joins joins) throws java.sql.SQLException
Description copied from interface:FieldStrategy
Load this field's key value using the given result. The result will contain the columns fromValueMapping.getColumns()
.- Specified by:
loadKeyProjection
in interfaceFieldStrategy
- Throws:
java.sql.SQLException
-
isVersionable
public boolean isVersionable()
Description copied from interface:FieldStrategy
Return true if this field can be used as part of a state image for optimistic locking.- Specified by:
isVersionable
in interfaceFieldStrategy
-
where
public void where(OpenJPAStateManager sm, JDBCStore store, RowManager rm, java.lang.Object prevValue) throws java.sql.SQLException
Description copied from interface:FieldStrategy
Add a WHERE condition to the row for this field such that the field's current DB value must equal the given previous value. Only versionable mappings must implement this method meaningfully.- Specified by:
where
in interfaceFieldStrategy
- Throws:
java.sql.SQLException
-
getValueInfo
public ValueMappingInfo getValueInfo()
Description copied from interface:ValueMapping
Raw mapping data.- Specified by:
getValueInfo
in interfaceValueMapping
-
getHandler
public ValueHandler getHandler()
Description copied from interface:ValueMapping
The handler used for this value, or null if none.- Specified by:
getHandler
in interfaceValueMapping
-
setHandler
public void setHandler(ValueHandler handler)
Description copied from interface:ValueMapping
The handler used for this value, or null if none.- Specified by:
setHandler
in interfaceValueMapping
-
getFieldMapping
public FieldMapping getFieldMapping()
Description copied from interface:ValueMapping
Convenience method to perform cast fromValueMetaData.getFieldMetaData()
.- Specified by:
getFieldMapping
in interfaceValueMapping
-
getTypeMapping
public ClassMapping getTypeMapping()
Description copied from interface:ValueMapping
Convenience method to perform cast fromValueMetaData.getTypeMetaData()
.- Specified by:
getTypeMapping
in interfaceValueMapping
-
getDeclaredTypeMapping
public ClassMapping getDeclaredTypeMapping()
Description copied from interface:ValueMapping
Convenience method to perform cast fromValueMetaData.getDeclaredTypeMetaData()
.- Specified by:
getDeclaredTypeMapping
in interfaceValueMapping
-
getEmbeddedMapping
public ClassMapping getEmbeddedMapping()
Description copied from interface:ValueMapping
Convenience method to perform cast fromValueMetaData.getEmbeddedMetaData()
.- Specified by:
getEmbeddedMapping
in interfaceValueMapping
-
getValueMappedByMapping
public FieldMapping getValueMappedByMapping()
Description copied from interface:ValueMapping
Convenience method to perform cast fromValueMetaData.getValueMappedByMetaData()
.- Specified by:
getValueMappedByMapping
in interfaceValueMapping
-
getColumns
public Column[] getColumns()
Description copied from interface:ValueMapping
The columns that hold the data for this value.- Specified by:
getColumns
in interfaceValueMapping
-
setColumns
public void setColumns(Column[] cols)
Description copied from interface:ValueMapping
The columns that hold the data for this value.- Specified by:
setColumns
in interfaceValueMapping
-
getColumnIO
public ColumnIO getColumnIO()
Description copied from interface:ValueMapping
I/O information on the foreign key, or columns if this value doesn't have a key.- Specified by:
getColumnIO
in interfaceValueMapping
-
setColumnIO
public void setColumnIO(ColumnIO io)
Description copied from interface:ValueMapping
I/O information on the foreign key, or columns if this value doesn't have a key.- Specified by:
setColumnIO
in interfaceValueMapping
-
getForeignKey
public ForeignKey getForeignKey()
Description copied from interface:ValueMapping
If this value joins to another record, the foreign key.- Specified by:
getForeignKey
in interfaceValueMapping
-
getForeignKey
public ForeignKey getForeignKey(ClassMapping target)
Description copied from interface:ValueMapping
Return an equivalent of this value's foreign key, but joining to the given target, which may be an unjoined subclass of this value's related type.- Specified by:
getForeignKey
in interfaceValueMapping
-
setForeignKey
public void setForeignKey(ForeignKey fk)
Description copied from interface:ValueMapping
If this value joins to another record, the foreign key.- Specified by:
setForeignKey
in interfaceValueMapping
-
getJoinDirection
public int getJoinDirection()
Description copied from interface:ValueMapping
The join direction.- Specified by:
getJoinDirection
in interfaceValueMapping
-
setJoinDirection
public void setJoinDirection(int direction)
Description copied from interface:ValueMapping
The join direction.- Specified by:
setJoinDirection
in interfaceValueMapping
-
setForeignKey
public void setForeignKey(Row row, OpenJPAStateManager sm) throws java.sql.SQLException
Description copied from interface:ValueMapping
Sets this value's foreign key to the given related object. The object may be null.- Specified by:
setForeignKey
in interfaceValueMapping
- Throws:
java.sql.SQLException
-
setForeignKey
public void setForeignKey(Row row, OpenJPAStateManager sm, int targetNumber) throws java.sql.SQLException
Description copied from interface:ValueMapping
Sets this value's foreign key to the given related object. The object may be null. If the object is one of2or more foreign keys with the same target, the targetNumber specifies the one to set.- Specified by:
setForeignKey
in interfaceValueMapping
- Throws:
java.sql.SQLException
-
whereForeignKey
public void whereForeignKey(Row row, OpenJPAStateManager sm) throws java.sql.SQLException
Description copied from interface:ValueMapping
Sets this value's foreign key to the given related object. The object may be null.- Specified by:
whereForeignKey
in interfaceValueMapping
- Throws:
java.sql.SQLException
-
getIndependentTypeMappings
public ClassMapping[] getIndependentTypeMappings()
Description copied from interface:ValueMapping
Return all independently-mapped joinable types for this value, depending on whether this value is polymorphic and how the related type is mapped. Return an empty array if value type is not PC.- Specified by:
getIndependentTypeMappings
in interfaceValueMapping
-
getSelectSubclasses
public int getSelectSubclasses()
Description copied from interface:ValueMapping
Return theorg.apache.openjpa.sql.Select
subclasses constant for loading this relation, based on how the related type is mapped, whether this relation is polymorphic, and whether it is configured to use class criteria.- Specified by:
getSelectSubclasses
in interfaceValueMapping
-
getValueUnique
public Unique getValueUnique()
Description copied from interface:ValueMapping
Unique constraint on this value's columns, or null if none.- Specified by:
getValueUnique
in interfaceValueMapping
-
setValueUnique
public void setValueUnique(Unique unq)
Description copied from interface:ValueMapping
Unique constraint on this value's columns, or null if none.- Specified by:
setValueUnique
in interfaceValueMapping
-
getValueIndex
public Index getValueIndex()
Description copied from interface:ValueMapping
Index on this value's columns, or null if none.- Specified by:
getValueIndex
in interfaceValueMapping
-
setValueIndex
public void setValueIndex(Index idx)
Description copied from interface:ValueMapping
Index on this value's columns, or null if none.- Specified by:
setValueIndex
in interfaceValueMapping
-
getUseClassCriteria
public boolean getUseClassCriteria()
Description copied from interface:ValueMapping
Whether to use class criteria when joining to related type.- Specified by:
getUseClassCriteria
in interfaceValueMapping
-
setUseClassCriteria
public void setUseClassCriteria(boolean criteria)
Description copied from interface:ValueMapping
Whether to use class criteria when joining to related type.- Specified by:
setUseClassCriteria
in interfaceValueMapping
-
getPolymorphic
public int getPolymorphic()
Description copied from interface:ValueMapping
The degree to which this relation is polymorphic.- Specified by:
getPolymorphic
in interfaceValueMapping
-
setPolymorphic
public void setPolymorphic(int poly)
Description copied from interface:ValueMapping
The degree to which this relation is polymorphic.- Specified by:
setPolymorphic
in interfaceValueMapping
-
mapConstraints
@Deprecated public void mapConstraints(java.lang.String name, boolean adapt)
Deprecated.Description copied from interface:ValueMapping
Map indexes and constraints for this value, using the currentValueMappingInfo
. The foreign key or columns of this value must be set before calling this method.- Specified by:
mapConstraints
in interfaceValueMapping
-
mapConstraints
public void mapConstraints(DBIdentifier name, boolean adapt)
Description copied from interface:ValueMapping
Map indexes and constraints for this value, using the currentValueMappingInfo
. The foreign key or columns of this value must be set before calling this method.- Specified by:
mapConstraints
in interfaceValueMapping
-
copyMappingInfo
public void copyMappingInfo(ValueMapping vm)
Description copied from interface:ValueMapping
Copy mapping info from the given instance to this one.- Specified by:
copyMappingInfo
in interfaceValueMapping
-
isBidirectionalJoinTableMappingOwner
public boolean isBidirectionalJoinTableMappingOwner()
Affirms if this field is the owning side of a bidirectional relation with a join table. Evaluated only once and the result cached for subsequent call. Hence must be called after resolution.
-
isBidirectionalJoinTableMappingNonOwner
public boolean isBidirectionalJoinTableMappingNonOwner()
Affirms if this field is the non-owning side of a bidirectional relation with a join table. Evaluated only once and the result cached for subsequent call. Hence must be called after resolution.
-
isBiMTo1JT
public boolean isBiMTo1JT()
-
isUni1ToMFK
public boolean isUni1ToMFK()
-
isUniMTo1JT
public boolean isUniMTo1JT()
-
isUni1To1JT
public boolean isUni1To1JT()
-
isBi1To1JT
public boolean isBi1To1JT()
-
getBi_1ToM_JTField
public FieldMapping getBi_1ToM_JTField()
-
getBi_MTo1_JTField
public FieldMapping getBi_MTo1_JTField()
-
getBi1ToMJoinFK
public ForeignKey getBi1ToMJoinFK()
-
getBi1ToMElemFK
public ForeignKey getBi1ToMElemFK()
-
setBi1MJoinTableInfo
public void setBi1MJoinTableInfo()
-
isNonDefaultMappingUsingJoinTableStrategy
public boolean isNonDefaultMappingUsingJoinTableStrategy()
-
setMapsIdCols
public void setMapsIdCols(boolean hasMapsIdCols)
-
hasMapsIdCols
public boolean hasMapsIdCols()
-
isDelayCapable
public boolean isDelayCapable()
- Overrides:
isDelayCapable
in classFieldMetaData
-
-