public class JoinedSubclassEntityPersister extends AbstractEntityPersister
hasIdentifierPropertyAbstractEntityPersister.CacheEntryHelper, AbstractEntityPersister.InclusionCheckerQueryable.DeclarercustomSQLDelete, customSQLInsert, customSQLUpdate, deleteCallable, deleteResultCheckStyles, ENTITY_CLASS, insertCallable, insertResultCheckStyles, propertyMapping, rowIdName, updateCallable, updateResultCheckStylesROWID_ALIASENTITY_IDUNFETCHED_PROPERTY| Constructor and Description | 
|---|
JoinedSubclassEntityPersister(EntityBinding entityBinding,
                             EntityRegionAccessStrategy cacheAccessStrategy,
                             NaturalIdRegionAccessStrategy naturalIdRegionAccessStrategy,
                             SessionFactoryImplementor factory,
                             Mapping mapping)  | 
JoinedSubclassEntityPersister(PersistentClass persistentClass,
                             EntityRegionAccessStrategy cacheAccessStrategy,
                             NaturalIdRegionAccessStrategy naturalIdRegionAccessStrategy,
                             SessionFactoryImplementor factory,
                             Mapping mapping)  | 
| Modifier and Type | Method and Description | 
|---|---|
protected void | 
addDiscriminatorToInsert(Insert insert)  | 
void | 
addDiscriminatorToSelect(SelectFragment select,
                        String name,
                        String suffix)  | 
int | 
determineTableNumberForColumn(String columnName)  | 
String | 
filterFragment(String alias)  | 
String | 
filterFragment(String alias,
              Set<String> treatAsDeclarations)  | 
String | 
fromTableFragment(String alias)
Get the main from table fragment, given a query alias. 
 | 
String | 
generateFilterConditionAlias(String rootAlias)
The alias used for any filter conditions (mapped where-fragments or
 enabled-filters). 
 | 
String[] | 
getConstraintOrderedTableNameClosure()
Get the names of all tables used in the hierarchy (up and down) ordered such
 that deletes in the given order would not cause constraint violations. 
 | 
String[][] | 
getContraintOrderedTableKeyColumnClosure()
For each table specified in  
Queryable.getConstraintOrderedTableNameClosure(), get
 the columns that define the key between the various hierarchy classes. | 
protected String | 
getDiscriminatorAlias()  | 
String | 
getDiscriminatorColumnName()  | 
String | 
getDiscriminatorColumnReaders()  | 
String | 
getDiscriminatorColumnReaderTemplate()  | 
String | 
getDiscriminatorSQLValue()
Get the discriminator value for this particular concrete subclass,
 as a string that may be embedded in a select statement 
 | 
Type | 
getDiscriminatorType()
Get the discriminator type 
 | 
Object | 
getDiscriminatorValue()
Get the discriminator value 
 | 
FilterAliasGenerator | 
getFilterAliasGenerator(String rootAlias)  | 
String[] | 
getIdentifierColumnNames()
Get the names of columns used to persist the identifier 
 | 
String[] | 
getIdentifierColumnReaders()  | 
String[] | 
getIdentifierColumnReaderTemplates()  | 
protected String[] | 
getKeyColumns(int j)  | 
Serializable[] | 
getPropertySpaces()
Returns an array of objects that identify spaces in which properties of
 this entity are persisted, for instances of this class only. 
 | 
String | 
getPropertyTableName(String propertyName)
Get the table name for the given property path 
 | 
protected int[] | 
getPropertyTableNumbers()  | 
protected int[] | 
getPropertyTableNumbersInSelect()  | 
String | 
getRootTableAlias(String drivingAlias)
Get the SQL alias this persister would use for the root table
 given the passed driving alias. 
 | 
String | 
getRootTableName()
Locks are always applied to the "root table". 
 | 
protected int[] | 
getSubclassColumnTableNumberClosure()  | 
String | 
getSubclassForDiscriminatorValue(Object value)
Get the concrete subclass corresponding to the given discriminator
 value 
 | 
protected int[] | 
getSubclassFormulaTableNumberClosure()  | 
Queryable.Declarer | 
getSubclassPropertyDeclarer(String propertyPath)
Determine whether the given property is declared by our
 mapped class, our super class, or one of our subclasses... 
 | 
String | 
getSubclassPropertyTableName(int i)
Return the table name used to persist the numbered property of the
 class or a subclass. 
 | 
protected int | 
getSubclassPropertyTableNumber(int i)  | 
protected String[] | 
getSubclassTableKeyColumns(int j)  | 
String | 
getSubclassTableName(int j)
Get the name of the table with the given index from the internal
 array. 
 | 
int | 
getSubclassTableSpan()  | 
String | 
getTableName()
The table to join to. 
 | 
protected String | 
getTableName(int j)  | 
int | 
getTableSpan()  | 
protected boolean | 
isClassOrSuperclassTable(int j)  | 
boolean | 
isMultiTable()
Is the inheritance hierarchy described by this persister contained across
 multiple tables? 
 | 
protected boolean | 
isNullableTable(int j)  | 
protected boolean | 
isPropertyOfTable(int property,
                 int j)  | 
protected boolean | 
isSubclassTableIndicatedByTreatAsDeclarations(int subclassTableNumber,
                                             Set<String> treatAsDeclarations)  | 
protected boolean | 
isSubclassTableLazy(int j)  | 
protected boolean | 
isSubclassTableSequentialSelect(int j)  | 
protected boolean | 
isTableCascadeDeleteEnabled(int j)  | 
String[] | 
toColumns(String alias,
         String propertyName)
Obtain aliased column/formula fragments for the specified property path. 
 | 
afterInitialize, afterReassociate, buildCacheEntry, buildCacheEntryHelper, canExtractIdOutOfEntity, canUseReferenceCacheEntries, check, concretePropertySelectFragment, concretePropertySelectFragment, concretePropertySelectFragmentSansLeadingComma, consumesCollectionAlias, consumesEntityAlias, countSubclassProperties, createEntityLoader, createEntityLoader, createEntityLoader, createFrom, createJoin, createJoin, createLoaders, createProxy, createQueryLoader, createSelect, createUniqueKeyLoaders, createWhereByKey, dehydrate, dehydrate, delete, delete, determineSubclassTableJoinType, doPostInstantiate, filterFragment, filterFragment, findDirty, findModified, forceVersionIncrement, fromJoinFragment, fromJoinFragment, generateDeleteString, generateEntityDefinition, generateIdByUniqueKeySelectString, generateIdentityInsertString, generateInsertGeneratedValuesSelectString, generateInsertString, generateInsertString, generateInsertString, generateLazySelectString, generateLocker, generateSelectVersionString, generateSnapshotSelectString, generateTableAlias, generateUpdateGeneratedValuesSelectString, generateUpdateString, generateUpdateString, getAttributes, getCacheAccessStrategy, getCacheEntryStructure, getCascadeStyle, getClassMetadata, getConcreteProxyClass, getCurrentVersion, getDatabaseSnapshot, getDiscriminatorAlias, getDiscriminatorFormulaTemplate, getEntityKeyDefinition, getEntityMetamodel, getEntityMode, getEntityName, getEntityPersister, getEntityTuplizer, getEntityType, getFactory, getFetchMode, getIdByUniqueKey, getIdentifier, getIdentifier, getIdentifierAliases, getIdentifierAliases, getIdentifierColumnSpan, getIdentifierGenerator, getIdentifierPropertyName, getIdentifierType, getIdentitySelectString, getInstrumentationMetadata, getKeyColumnNames, getLazyProperties, getLoaders, getMappedClass, getMappedSuperclass, getName, getNaturalIdCacheAccessStrategy, getNaturalIdentifierProperties, getNaturalIdentifierSnapshot, getNonLazyPropertyUpdateability, getPropertiesToInsert, getPropertiesToUpdate, getPropertyAliases, getPropertyCascadeStyles, getPropertyCheckability, getPropertyColumnInsertable, getPropertyColumnNames, getPropertyColumnNames, getPropertyColumnSpan, getPropertyColumnUpdateable, getPropertyColumnWriters, getPropertyIndex, getPropertyInsertability, getPropertyInsertGenerationInclusions, getPropertyLaziness, getPropertyNames, getPropertyNullability, getPropertySelectable, getPropertySpan, getPropertySubclassNames, getPropertyType, getPropertyTypes, getPropertyUniqueness, getPropertyUpdateability, getPropertyUpdateability, getPropertyUpdateGenerationInclusions, getPropertyValue, getPropertyValue, getPropertyValues, getPropertyValuesToInsert, getPropertyVersionability, getQuerySpaces, getRootEntityName, getRootTableIdentifierColumnNames, getRootTableKeyColumnNames, getSelectByUniqueKeyString, getSequentialSelect, getSQLDeleteStrings, getSQLIdentityInsertString, getSQLInsertStrings, getSQLLazySelectString, getSQLLazyUpdateByRowIdStrings, getSQLLazyUpdateStrings, getSQLSnapshotSelectString, getSQLUpdateByRowIdStrings, getSQLUpdateStrings, getSQLWhereString, getSubclassColumnAliasClosure, getSubclassColumnClosure, getSubclassColumnLazyiness, getSubclassColumnReaderTemplateClosure, getSubclassEntityPersister, getSubclassFormulaAliasClosure, getSubclassFormulaClosure, getSubclassFormulaLazyiness, getSubclassFormulaTemplateClosure, getSubclassPropertyColumnAliases, getSubclassPropertyColumnNameClosure, getSubclassPropertyColumnNames, getSubclassPropertyColumnNames, getSubclassPropertyColumnReaderClosure, getSubclassPropertyColumnReaderTemplateClosure, getSubclassPropertyFormulaTemplateClosure, getSubclassPropertyName, getSubclassPropertyNameClosure, getSubclassPropertySubclassNameClosure, getSubclassPropertyTableNumber, getSubclassPropertyType, getSubclassPropertyTypeClosure, getTableAliasForColumn, getTableId, getTableUpdateNeeded, getTemplateFromColumn, getTemplateFromString, getTemporaryIdTableDDL, getTemporaryIdTableName, getType, getTypeDiscriminatorMetadata, getVersion, getVersionColumnName, getVersionComparator, getVersionedTableName, getVersionProperty, getVersionSelectString, getVersionType, hasCache, hasCascades, hasCollections, hasEmbeddedCompositeIdentifier, hasFormulaProperties, hasIdentifierProperty, hasInsertGeneratedProperties, hasLazyProperties, hasMutableProperties, hasNaturalIdCache, hasNaturalIdentifier, hasProxy, hasRowId, hasSequentialSelect, hasSubclasses, hasSubselectLoadableCollections, hasUninitializedLazyProperties, hasUpdateGeneratedProperties, hasWhere, hydrate, identifierSelectFragment, implementsLifecycle, initializeLazyProperty, initLockers, initPropertyPaths, initSubclassPropertyAliasesMap, initSubclassPropertyAliasesMap, insert, insert, insert, insert, instantiate, isAbstract, isBatchable, isBatchLoadable, isCacheInvalidationRequired, isCollection, isDefinedOnSubclass, isDeleteCallable, isExplicitPolymorphism, isIdentifierAssignedByInsert, isInherited, isInsertCallable, isInstance, isInstrumented, isInverseSubclassTable, isInverseTable, isLazyPropertiesCacheable, isMutable, isNaturalIdNonNullable, isNullableSubclassTable, isPolymorphic, isSelectBeforeUpdateRequired, isSubclassEntityName, isSubclassPropertyDeferred, isSubclassPropertyNullable, isTransient, isUpdateCallable, isVersioned, isVersionPropertyGenerated, isVersionPropertyInsertable, load, load, loadByUniqueKey, loadEntityIdByNaturalId, lock, lock, logStaticSQL, oneToManyFilterFragment, oneToManyFilterFragment, optimisticLockStyle, postConstruct, postInstantiate, processInsertGeneratedProperties, processUpdateGeneratedProperties, propertySelectFragment, propertySelectFragmentFragment, registerAffectingFetchProfile, renderSelect, resetIdentifier, resolveAttributeIndexes, selectFragment, selectFragment, setIdentifier, setPropertyValue, setPropertyValue, setPropertyValues, toColumns, toColumns, toString, toType, update, update, updateOrInsert, useDynamicInsert, useDynamicUpdate, useGetGeneratedKeys, useInsertSelectIdentity, whereJoinFragment, whereJoinFragmentpublic JoinedSubclassEntityPersister(PersistentClass persistentClass, EntityRegionAccessStrategy cacheAccessStrategy, NaturalIdRegionAccessStrategy naturalIdRegionAccessStrategy, SessionFactoryImplementor factory, Mapping mapping) throws HibernateException
HibernateExceptionpublic JoinedSubclassEntityPersister(EntityBinding entityBinding, EntityRegionAccessStrategy cacheAccessStrategy, NaturalIdRegionAccessStrategy naturalIdRegionAccessStrategy, SessionFactoryImplementor factory, Mapping mapping) throws HibernateException
HibernateExceptionprotected boolean isNullableTable(int j)
isNullableTable in class AbstractEntityPersisterprotected boolean isSubclassTableSequentialSelect(int j)
isSubclassTableSequentialSelect in class AbstractEntityPersisterpublic String getSubclassPropertyTableName(int i)
OuterJoinLoadablepublic Type getDiscriminatorType()
Loadablepublic Object getDiscriminatorValue()
Loadablepublic String getDiscriminatorSQLValue()
Queryablepublic String getDiscriminatorColumnName()
getDiscriminatorColumnName in interface LoadablegetDiscriminatorColumnName in class AbstractEntityPersisterpublic String getDiscriminatorColumnReaders()
getDiscriminatorColumnReaders in class AbstractEntityPersisterpublic String getDiscriminatorColumnReaderTemplate()
getDiscriminatorColumnReaderTemplate in class AbstractEntityPersisterprotected String getDiscriminatorAlias()
getDiscriminatorAlias in class AbstractEntityPersisterpublic String getSubclassForDiscriminatorValue(Object value)
Loadableprotected void addDiscriminatorToInsert(Insert insert)
addDiscriminatorToInsert in class AbstractEntityPersisterpublic Serializable[] getPropertySpaces()
EntityPersisterprotected String getTableName(int j)
getTableName in class AbstractEntityPersisterprotected String[] getKeyColumns(int j)
getKeyColumns in class AbstractEntityPersisterprotected boolean isTableCascadeDeleteEnabled(int j)
isTableCascadeDeleteEnabled in class AbstractEntityPersisterprotected boolean isPropertyOfTable(int property,
                        int j)
isPropertyOfTable in class AbstractEntityPersisterpublic String fromTableFragment(String alias)
OuterJoinLoadablepublic String getTableName()
Joinablepublic void addDiscriminatorToSelect(SelectFragment select, String name, String suffix)
addDiscriminatorToSelect in class AbstractEntityPersisterpublic String filterFragment(String alias)
filterFragment in class AbstractEntityPersisterpublic String filterFragment(String alias, Set<String> treatAsDeclarations)
filterFragment in class AbstractEntityPersisterpublic String generateFilterConditionAlias(String rootAlias)
QueryablegenerateFilterConditionAlias in interface QueryablegenerateFilterConditionAlias in class AbstractEntityPersisterrootAlias - The root aliaspublic String[] getIdentifierColumnNames()
LoadablegetIdentifierColumnNames in interface PostInsertIdentityPersistergetIdentifierColumnNames in interface LoadablegetIdentifierColumnNames in interface QueryablegetIdentifierColumnNames in class AbstractEntityPersisterpublic String[] getIdentifierColumnReaderTemplates()
getIdentifierColumnReaderTemplates in class AbstractEntityPersisterpublic String[] getIdentifierColumnReaders()
getIdentifierColumnReaders in class AbstractEntityPersisterpublic String[] toColumns(String alias, String propertyName) throws QueryException
PropertyMappingtoColumns in interface PropertyMappingtoColumns in class AbstractEntityPersisterQueryExceptionprotected int[] getPropertyTableNumbersInSelect()
getPropertyTableNumbersInSelect in class AbstractEntityPersisterprotected int getSubclassPropertyTableNumber(int i)
getSubclassPropertyTableNumber in class AbstractEntityPersisterpublic int getTableSpan()
getTableSpan in class AbstractEntityPersisterpublic boolean isMultiTable()
QueryableisMultiTable in interface QueryableisMultiTable in class AbstractEntityPersisterprotected int[] getSubclassColumnTableNumberClosure()
getSubclassColumnTableNumberClosure in class AbstractEntityPersisterprotected int[] getSubclassFormulaTableNumberClosure()
getSubclassFormulaTableNumberClosure in class AbstractEntityPersisterprotected int[] getPropertyTableNumbers()
getPropertyTableNumbers in class AbstractEntityPersisterprotected String[] getSubclassTableKeyColumns(int j)
getSubclassTableKeyColumns in class AbstractEntityPersisterpublic String getSubclassTableName(int j)
QueryablegetSubclassTableName in interface QueryablegetSubclassTableName in class AbstractEntityPersisterj - The index into the internal array.public int getSubclassTableSpan()
getSubclassTableSpan in class AbstractEntityPersisterprotected boolean isSubclassTableLazy(int j)
isSubclassTableLazy in class AbstractEntityPersisterprotected boolean isClassOrSuperclassTable(int j)
isClassOrSuperclassTable in class AbstractEntityPersisterprotected boolean isSubclassTableIndicatedByTreatAsDeclarations(int subclassTableNumber,
                                                    Set<String> treatAsDeclarations)
isSubclassTableIndicatedByTreatAsDeclarations in class AbstractEntityPersisterpublic String getPropertyTableName(String propertyName)
OuterJoinLoadablepublic String[] getConstraintOrderedTableNameClosure()
Queryablepublic String[][] getContraintOrderedTableKeyColumnClosure()
QueryableQueryable.getConstraintOrderedTableNameClosure(), get
 the columns that define the key between the various hierarchy classes.
 
 The first dimension here corresponds to the table indexes returned in
 Queryable.getConstraintOrderedTableNameClosure().
 
 The second dimension should have the same length across all the elements in
 the first dimension.  If not, that would be a problem ;)public String getRootTableName()
LockablegetRootTableName in interface LockablegetRootTableName in class AbstractEntityPersisterpublic String getRootTableAlias(String drivingAlias)
LockablegetRootTableAlias in interface LockablegetRootTableAlias in class AbstractEntityPersisterdrivingAlias - The driving alias; or the alias for the table
 mapped by this persister in the hierarchy.public Queryable.Declarer getSubclassPropertyDeclarer(String propertyPath)
QueryableQueryable.getSubclassPropertyTableNumber(java.lang.String)getSubclassPropertyDeclarer in interface QueryablegetSubclassPropertyDeclarer in class AbstractEntityPersisterpropertyPath - The property name.public int determineTableNumberForColumn(String columnName)
determineTableNumberForColumn in class AbstractEntityPersisterpublic FilterAliasGenerator getFilterAliasGenerator(String rootAlias)
Copyright © 2001-2015 Red Hat, Inc. All Rights Reserved.