public abstract class AbstractEntityPersister extends Object implements OuterJoinLoadable, Queryable, ClassMetadata, UniqueKeyLoadable, SQLLoadable, LazyPropertyInitializer, PostInsertIdentityPersister, Lockable
| Type | Property and Description | 
|---|---|
boolean | 
hasIdentifier
Determine whether the entity has a particular property holding
 the identifier value. 
 | 
| Modifier and Type | Class and Description | 
|---|---|
static interface  | 
AbstractEntityPersister.CacheEntryHelper
Consolidated these onto a single helper because the 2 pieces work in tandem. 
 | 
protected static interface  | 
AbstractEntityPersister.InclusionChecker  | 
Queryable.Declarer| Modifier and Type | Field and Description | 
|---|---|
protected String[] | 
customSQLDelete  | 
protected String[] | 
customSQLInsert  | 
protected String[] | 
customSQLUpdate  | 
protected boolean[] | 
deleteCallable  | 
protected ExecuteUpdateResultCheckStyle[] | 
deleteResultCheckStyles  | 
static String | 
ENTITY_CLASS  | 
protected boolean[] | 
insertCallable  | 
protected ExecuteUpdateResultCheckStyle[] | 
insertResultCheckStyles  | 
protected BasicEntityPropertyMapping | 
propertyMapping  | 
protected String | 
rowIdName  | 
protected boolean[] | 
updateCallable  | 
protected ExecuteUpdateResultCheckStyle[] | 
updateResultCheckStyles  | 
ROWID_ALIASENTITY_IDUNFETCHED_PROPERTY| Constructor and Description | 
|---|
AbstractEntityPersister(EntityBinding entityBinding,
                       EntityRegionAccessStrategy cacheAccessStrategy,
                       NaturalIdRegionAccessStrategy naturalIdRegionAccessStrategy,
                       SessionFactoryImplementor factory)  | 
AbstractEntityPersister(PersistentClass persistentClass,
                       EntityRegionAccessStrategy cacheAccessStrategy,
                       NaturalIdRegionAccessStrategy naturalIdRegionAccessStrategy,
                       SessionFactoryImplementor factory)  | 
| Modifier and Type | Method and Description | 
|---|---|
protected void | 
addDiscriminatorToInsert(Insert insert)  | 
protected void | 
addDiscriminatorToSelect(SelectFragment select,
                        String name,
                        String suffix)  | 
void | 
afterInitialize(Object entity,
               boolean lazyPropertiesAreUnfetched,
               SessionImplementor session)
Called just after the entities properties have been initialized 
 | 
void | 
afterReassociate(Object entity,
                SessionImplementor session)
Called just after the entity has been reassociated with the session 
 | 
CacheEntry | 
buildCacheEntry(Object entity,
               Object[] state,
               Object version,
               SessionImplementor session)  | 
protected AbstractEntityPersister.CacheEntryHelper | 
buildCacheEntryHelper()  | 
boolean | 
canExtractIdOutOfEntity()
Determine whether detached instances of this entity carry their own
 identifier value. 
 | 
boolean | 
canUseReferenceCacheEntries()  | 
protected boolean | 
check(int rows,
     Serializable id,
     int tableNumber,
     Expectation expectation,
     PreparedStatement statement)  | 
protected String | 
concretePropertySelectFragment(String alias,
                              AbstractEntityPersister.InclusionChecker inclusionChecker)  | 
protected String | 
concretePropertySelectFragment(String alias,
                              boolean[] includeProperty)  | 
protected String | 
concretePropertySelectFragmentSansLeadingComma(String alias,
                                              boolean[] include)  | 
boolean | 
consumesCollectionAlias()
Very, very, very ugly... 
 | 
boolean | 
consumesEntityAlias()
Very, very, very ugly... 
 | 
int | 
countSubclassProperties()
How many properties are there, for this class and all subclasses? 
 | 
protected UniqueEntityLoader | 
createEntityLoader(LockMode lockMode)
Used internally to create static loaders. 
 | 
protected UniqueEntityLoader | 
createEntityLoader(LockMode lockMode,
                  LoadQueryInfluencers loadQueryInfluencers)  | 
protected UniqueEntityLoader | 
createEntityLoader(LockOptions lockOptions,
                  LoadQueryInfluencers loadQueryInfluencers)  | 
protected String | 
createFrom(int tableNumber,
          String alias)  | 
protected JoinFragment | 
createJoin(int[] tableNumbers,
          String drivingAlias)  | 
protected JoinFragment | 
createJoin(String name,
          boolean innerJoin,
          boolean includeSubclasses,
          Set<String> treatAsDeclarations)  | 
protected void | 
createLoaders()  | 
Object | 
createProxy(Serializable id,
           SessionImplementor session)
Create a new proxy instance 
 | 
protected void | 
createQueryLoader()  | 
protected SelectFragment | 
createSelect(int[] subclassColumnNumbers,
            int[] subclassFormulaNumbers)  | 
protected void | 
createUniqueKeyLoaders()  | 
protected String | 
createWhereByKey(int tableNumber,
                String alias)  | 
protected int | 
dehydrate(Serializable id,
         Object[] fields,
         boolean[] includeProperty,
         boolean[][] includeColumns,
         int j,
         PreparedStatement st,
         SessionImplementor session,
         boolean isUpdate)  | 
protected int | 
dehydrate(Serializable id,
         Object[] fields,
         Object rowId,
         boolean[] includeProperty,
         boolean[][] includeColumns,
         int j,
         PreparedStatement ps,
         SessionImplementor session,
         int index,
         boolean isUpdate)
Marshall the fields of a persistent instance to a prepared statement 
 | 
protected void | 
delete(Serializable id,
      Object version,
      int j,
      Object object,
      String sql,
      SessionImplementor session,
      Object[] loadedState)
Perform an SQL DELETE 
 | 
void | 
delete(Serializable id,
      Object version,
      Object object,
      SessionImplementor session)
Delete an object 
 | 
protected JoinType | 
determineSubclassTableJoinType(int subclassTableNumber,
                              boolean canInnerJoin,
                              boolean includeSubclasses,
                              Set<String> treatAsDeclarations)  | 
int | 
determineTableNumberForColumn(String columnName)  | 
protected void | 
doPostInstantiate()  | 
protected abstract String | 
filterFragment(String alias)  | 
String | 
filterFragment(String alias,
              Map enabledFilters)
Get the where clause filter, given a query alias and considering enabled session filters 
 | 
String | 
filterFragment(String alias,
              Map enabledFilters,
              Set<String> treatAsDeclarations)
Get the where clause filter, given a query alias and considering enabled session filters 
 | 
protected abstract String | 
filterFragment(String alias,
              Set<String> treatAsDeclarations)  | 
int[] | 
findDirty(Object[] currentState,
         Object[] previousState,
         Object entity,
         SessionImplementor session)
Locate the property-indices of all properties considered to be dirty. 
 | 
int[] | 
findModified(Object[] old,
            Object[] current,
            Object entity,
            SessionImplementor session)
Locate the property-indices of all properties considered to be dirty. 
 | 
Object | 
forceVersionIncrement(Serializable id,
                     Object currentVersion,
                     SessionImplementor session)  | 
String | 
fromJoinFragment(String alias,
                boolean innerJoin,
                boolean includeSubclasses)
Get the from clause part of any joins
 (optional operation) 
 | 
String | 
fromJoinFragment(String alias,
                boolean innerJoin,
                boolean includeSubclasses,
                Set<String> treatAsDeclarations)
Get the from clause part of any joins
 (optional operation) 
 | 
protected String | 
generateDeleteString(int j)
Generate the SQL that deletes a row by id (and version) 
 | 
void | 
generateEntityDefinition()
Generate the entity definition for this object. 
 | 
String | 
generateFilterConditionAlias(String rootAlias)
The alias used for any filter conditions (mapped where-fragments or
 enabled-filters). 
 | 
protected String | 
generateIdByUniqueKeySelectString(String uniquePropertyName)  | 
protected String | 
generateIdentityInsertString(boolean[] includeProperty)
Used to generate an insery statement against the root table in the
 case of identifier generation strategies where the insert statement
 executions actually generates the identifier value. 
 | 
protected String | 
generateInsertGeneratedValuesSelectString()  | 
protected String | 
generateInsertString(boolean[] includeProperty,
                    int j)  | 
protected String | 
generateInsertString(boolean identityInsert,
                    boolean[] includeProperty)  | 
protected String | 
generateInsertString(boolean identityInsert,
                    boolean[] includeProperty,
                    int j)
Generate the SQL that inserts a row 
 | 
protected String | 
generateLazySelectString()  | 
protected LockingStrategy | 
generateLocker(LockMode lockMode)  | 
protected String | 
generateSelectVersionString()
Generate the SQL that selects the version number by id 
 | 
protected String | 
generateSnapshotSelectString()  | 
static String | 
generateTableAlias(String rootAlias,
                  int tableNumber)  | 
protected String | 
generateUpdateGeneratedValuesSelectString()  | 
protected String | 
generateUpdateString(boolean[] includeProperty,
                    int j,
                    boolean useRowId)  | 
protected String | 
generateUpdateString(boolean[] includeProperty,
                    int j,
                    Object[] oldFields,
                    boolean useRowId)
Generate the SQL that updates a row by id (and version) 
 | 
Iterable<AttributeDefinition> | 
getAttributes()  | 
EntityRegionAccessStrategy | 
getCacheAccessStrategy()
Get the cache (optional operation) 
 | 
CacheEntryStructure | 
getCacheEntryStructure()
Get the cache structure 
 | 
CascadeStyle | 
getCascadeStyle(int i)
Get the cascade style of this (subclass closure) property 
 | 
ClassMetadata | 
getClassMetadata()
Get the user-visible metadata for the class (optional operation) 
 | 
Class | 
getConcreteProxyClass()
Get the proxy interface that instances of this concrete class will be
 cast to (optional operation). 
 | 
Object | 
getCurrentVersion(Serializable id,
                 SessionImplementor session)
Retrieve the version number 
 | 
Object[] | 
getDatabaseSnapshot(Serializable id,
                   SessionImplementor session)
Get the current database state of the object, in a "hydrated" form, without
 resolving identifiers 
 | 
protected String | 
getDiscriminatorAlias()  | 
String | 
getDiscriminatorAlias(String suffix)
Get the result set aliases used for the identifier columns, given a suffix 
 | 
String | 
getDiscriminatorColumnName()  | 
String | 
getDiscriminatorColumnReaders()  | 
String | 
getDiscriminatorColumnReaderTemplate()  | 
protected String | 
getDiscriminatorFormulaTemplate()  | 
EntityIdentifierDefinition | 
getEntityKeyDefinition()  | 
EntityMetamodel | 
getEntityMetamodel()
Retrieve the underlying entity metamodel instance... 
 | 
EntityMode | 
getEntityMode()  | 
String | 
getEntityName()
The entity name which this persister maps. 
 | 
EntityPersister | 
getEntityPersister()  | 
EntityTuplizer | 
getEntityTuplizer()  | 
EntityType | 
getEntityType()  | 
SessionFactoryImplementor | 
getFactory()
Return the SessionFactory to which this persister "belongs". 
 | 
FetchMode | 
getFetchMode(int i)
May this (subclass closure) property be fetched using an SQL outerjoin? 
 | 
Serializable | 
getIdByUniqueKey(Serializable key,
                String uniquePropertyName,
                SessionImplementor session)  | 
Serializable | 
getIdentifier(Object object)
Get the identifier of an instance (throw an exception if no identifier property) 
 | 
Serializable | 
getIdentifier(Object entity,
             SessionImplementor session)
Get the identifier of an instance (throw an exception if no identifier property) 
 | 
protected String[] | 
getIdentifierAliases()  | 
String[] | 
getIdentifierAliases(String suffix)
Get the result set aliases used for the identifier columns, given a suffix 
 | 
String[] | 
getIdentifierColumnNames()
Get the names of columns used to persist the identifier 
 | 
String[] | 
getIdentifierColumnReaders()  | 
String[] | 
getIdentifierColumnReaderTemplates()  | 
protected int | 
getIdentifierColumnSpan()  | 
IdentifierGenerator | 
getIdentifierGenerator()
Determine which identifier generation strategy is used for this entity. 
 | 
String | 
getIdentifierPropertyName()
Get the name of the identifier property (or return null) - need not return the
 name of an actual Java property 
 | 
Type | 
getIdentifierType()
Get the identifier type 
 | 
String | 
getIdentitySelectString()
Get the database-specific SQL command to retrieve the last
 generated IDENTITY value. 
 | 
EntityInstrumentationMetadata | 
getInstrumentationMetadata()  | 
String[] | 
getKeyColumnNames()
The columns to join on 
 | 
protected abstract String[] | 
getKeyColumns(int j)  | 
protected Set | 
getLazyProperties()  | 
protected Map | 
getLoaders()  | 
Class | 
getMappedClass()
The persistent class, or null 
 | 
String | 
getMappedSuperclass()
Get the class that this class is mapped as a subclass of -
 not necessarily the direct superclass 
 | 
String | 
getName()
An identifying name; a class name or collection role name. 
 | 
NaturalIdRegionAccessStrategy | 
getNaturalIdCacheAccessStrategy()
Get the NaturalId cache (optional operation) 
 | 
int[] | 
getNaturalIdentifierProperties()
If the entity defines a natural id ( 
EntityPersister.hasNaturalIdentifier()), which
 properties make up the natural id. | 
Object[] | 
getNaturalIdentifierSnapshot(Serializable id,
                            SessionImplementor session)
Retrieve the current state of the natural-id properties from the database. 
 | 
boolean[] | 
getNonLazyPropertyUpdateability()  | 
protected boolean[] | 
getPropertiesToInsert(Object[] fields)
Transform the array of property indexes to an array of booleans,
 true when the property is insertable and non-null 
 | 
protected boolean[] | 
getPropertiesToUpdate(int[] dirtyProperties,
                     boolean hasDirtyCollection)
Transform the array of property indexes to an array of booleans,
 true when the property is dirty 
 | 
String[] | 
getPropertyAliases(String suffix,
                  int i)
Get the result set aliases used for the property columns, given a suffix (properties of this class, only). 
 | 
CascadeStyle[] | 
getPropertyCascadeStyles()
Get the cascade styles of the properties (optional operation) 
 | 
boolean[] | 
getPropertyCheckability()
Get the "checkability" of the properties of this class
 (is the property dirty checked, does the cache need
 to be updated) 
 | 
protected boolean[][] | 
getPropertyColumnInsertable()  | 
String[] | 
getPropertyColumnNames(int i)
Get the result set column names mapped for this property (properties of this class, only). 
 | 
String[] | 
getPropertyColumnNames(String propertyName)
Get the column names for the given property path 
 | 
protected int | 
getPropertyColumnSpan(int i)  | 
protected boolean[][] | 
getPropertyColumnUpdateable()  | 
String[] | 
getPropertyColumnWriters(int i)  | 
int | 
getPropertyIndex(String propertyName)
Get the property number of the unique key property 
 | 
boolean[] | 
getPropertyInsertability()
Get the "insertability" of the properties of this class
 (does the property appear in an SQL INSERT) 
 | 
ValueInclusion[] | 
getPropertyInsertGenerationInclusions()
Deprecated.  
 | 
boolean[] | 
getPropertyLaziness()
Get the "laziness" of the properties of this class 
 | 
String[] | 
getPropertyNames()
Get the names of the class properties - doesn't have to be the names of the
 actual Java properties (used for XML generation only) 
 | 
boolean[] | 
getPropertyNullability()
Get the nullability of the properties of this class 
 | 
protected boolean[] | 
getPropertySelectable()  | 
protected int | 
getPropertySpan()  | 
protected String[] | 
getPropertySubclassNames()  | 
protected abstract int[] | 
getPropertyTableNumbers()  | 
protected abstract int[] | 
getPropertyTableNumbersInSelect()  | 
Type | 
getPropertyType(String propertyName)
Get the type of a particular property by name. 
 | 
Type[] | 
getPropertyTypes()
Get the Hibernate types of the class properties 
 | 
boolean[] | 
getPropertyUniqueness()  | 
boolean[] | 
getPropertyUpdateability()
Get the "updateability" of the properties of this class
 (does the property appear in an SQL UPDATE) 
 | 
protected boolean[] | 
getPropertyUpdateability(Object entity)
Which properties appear in the SQL update?
 (Initialized, updateable ones!) 
 | 
ValueInclusion[] | 
getPropertyUpdateGenerationInclusions()
Deprecated.  
 | 
Object | 
getPropertyValue(Object object,
                int i)
Get the value of a particular property 
 | 
Object | 
getPropertyValue(Object object,
                String propertyName)
Get the value of a particular property 
 | 
Object[] | 
getPropertyValues(Object object)
Return the (loaded) values of the mapped properties of the object (not including backrefs) 
 | 
Object[] | 
getPropertyValuesToInsert(Object object,
                         Map mergeMap,
                         SessionImplementor session)
Return the values of the insertable properties of the object (including backrefs) 
 | 
boolean[] | 
getPropertyVersionability()
Get the "versionability" of the properties of this class
 (is the property optimistic-locked) 
 | 
Serializable[] | 
getQuerySpaces()
Returns an array of objects that identify spaces in which properties of
 this entity are persisted, for instances of this class and its subclasses. 
 | 
String | 
getRootEntityName()
Returns an object that identifies the space in which identifiers of
 this entity hierarchy are unique. 
 | 
String | 
getRootTableAlias(String drivingAlias)
Get the SQL alias this persister would use for the root table
 given the passed driving alias. 
 | 
String[] | 
getRootTableIdentifierColumnNames()
Get the names of columns on the root table used to persist the identifier. 
 | 
String[] | 
getRootTableKeyColumnNames()
The names of the primary key columns in the root table. 
 | 
String | 
getRootTableName()
Locks are always applied to the "root table". 
 | 
String | 
getSelectByUniqueKeyString(String propertyName)
Get a SQL select string that performs a select based on a unique
 key determined by the given property name). 
 | 
protected String | 
getSequentialSelect(String entityName)  | 
protected String[] | 
getSQLDeleteStrings()  | 
protected String | 
getSQLIdentityInsertString()
The query that inserts a row, letting the database generate an id 
 | 
protected String[] | 
getSQLInsertStrings()  | 
protected String | 
getSQLLazySelectString()  | 
protected String[] | 
getSQLLazyUpdateByRowIdStrings()  | 
protected String[] | 
getSQLLazyUpdateStrings()  | 
protected String | 
getSQLSnapshotSelectString()  | 
protected String[] | 
getSQLUpdateByRowIdStrings()  | 
protected String[] | 
getSQLUpdateStrings()  | 
protected String | 
getSQLWhereString(String alias)  | 
protected String[] | 
getSubclassColumnAliasClosure()  | 
protected String[] | 
getSubclassColumnClosure()  | 
protected boolean[] | 
getSubclassColumnLazyiness()  | 
String[] | 
getSubclassColumnReaderTemplateClosure()  | 
protected abstract int[] | 
getSubclassColumnTableNumberClosure()  | 
EntityPersister | 
getSubclassEntityPersister(Object instance,
                          SessionFactoryImplementor factory)
A request has already identified the entity-name of this persister as the mapping for the given instance. 
 | 
protected String[] | 
getSubclassFormulaAliasClosure()  | 
protected String[] | 
getSubclassFormulaClosure()  | 
protected boolean[] | 
getSubclassFormulaLazyiness()  | 
protected abstract int[] | 
getSubclassFormulaTableNumberClosure()  | 
protected String[] | 
getSubclassFormulaTemplateClosure()  | 
String[] | 
getSubclassPropertyColumnAliases(String propertyName,
                                String suffix)
Return the column alias names used to persist/query the named property of the class or a subclass (optional operation). 
 | 
protected String[][] | 
getSubclassPropertyColumnNameClosure()  | 
String[] | 
getSubclassPropertyColumnNames(int i)
Return the column names used to persist the numbered property of the
 class or a subclass. 
 | 
String[] | 
getSubclassPropertyColumnNames(String propertyName)
Return the column names used to persist/query the named property of the class or a subclass (optional operation). 
 | 
String[][] | 
getSubclassPropertyColumnReaderClosure()  | 
String[][] | 
getSubclassPropertyColumnReaderTemplateClosure()  | 
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[][] | 
getSubclassPropertyFormulaTemplateClosure()  | 
String | 
getSubclassPropertyName(int i)
Get the name of the numbered property of the class or a subclass. 
 | 
protected String[] | 
getSubclassPropertyNameClosure()  | 
protected String[] | 
getSubclassPropertySubclassNameClosure()  | 
protected abstract int | 
getSubclassPropertyTableNumber(int i)  | 
int | 
getSubclassPropertyTableNumber(String propertyPath)
Warning:
 When there are duplicated property names in the subclasses
 of the class, this method may return the wrong table
 number for the duplicated subclass property (note that
 SingleTableEntityPersister defines an overloaded form
 which takes the entity name. 
 | 
Type | 
getSubclassPropertyType(int i)
Get the type of the numbered property of the class or a subclass. 
 | 
protected Type[] | 
getSubclassPropertyTypeClosure()  | 
protected abstract String[] | 
getSubclassTableKeyColumns(int j)  | 
abstract String | 
getSubclassTableName(int j)
Get the name of the table with the given index from the internal
 array. 
 | 
protected abstract int | 
getSubclassTableSpan()  | 
String | 
getTableAliasForColumn(String columnName,
                      String rootAlias)
Given a column name and the root table alias in use for the entity hierarchy, determine the proper table alias
 for the table in that hierarchy that contains said column. 
 | 
static int | 
getTableId(String tableName,
          String[] tables)  | 
protected abstract String | 
getTableName(int j)  | 
protected abstract int | 
getTableSpan()  | 
protected boolean[] | 
getTableUpdateNeeded(int[] dirtyProperties,
                    boolean hasDirtyCollection)
Decide which tables need to be updated. 
 | 
String | 
getTemplateFromColumn(Column column,
                     SessionFactoryImplementor factory)  | 
protected static String | 
getTemplateFromString(String string,
                     SessionFactoryImplementor factory)  | 
String | 
getTemporaryIdTableDDL()
Get the appropriate DDL command for generating the temporary table to
 be used to (potentially) store id values when performing bulk update/deletes. 
 | 
String | 
getTemporaryIdTableName()
Get the name of the temporary table to be used to (potentially) store id values
 when performing bulk update/deletes. 
 | 
Type | 
getType()
Get the type of the thing containing the properties 
 | 
DiscriminatorMetadata | 
getTypeDiscriminatorMetadata()
Retrieve the information needed to properly deal with this entity's discriminator
 in a query. 
 | 
Object | 
getVersion(Object object)
Get the version number (or timestamp) from the object's version property (or return null if not versioned) 
 | 
String | 
getVersionColumnName()
For versioned entities, get the name of the column (again, expected on the
 root table) used to store the version values. 
 | 
Comparator | 
getVersionComparator()
Get the comparator used to compare two different version values. 
 | 
protected String | 
getVersionedTableName()  | 
int | 
getVersionProperty()
If  
EntityPersister.isVersioned(), then what is the index of the property
 holding the locking value. | 
protected String | 
getVersionSelectString()  | 
VersionType | 
getVersionType()
If  
EntityPersister.isVersioned(), then what is the type of the property
 holding the locking value. | 
boolean | 
hasCache()
Does this class have a cache. 
 | 
boolean | 
hasCascades()
Determine whether this entity has any non-none cascading. 
 | 
boolean | 
hasCollections()
Determine whether this entity contains references to persistent collections. 
 | 
protected boolean | 
hasEmbeddedCompositeIdentifier()  | 
protected boolean | 
hasFormulaProperties()  | 
boolean | 
hasIdentifierProperty()
Determine whether the entity has a particular property holding
 the identifier value. 
 | 
boolean | 
hasInsertGeneratedProperties()
Does this entity define any properties as being database generated on insert? 
 | 
boolean | 
hasLazyProperties()
Determine whether this entity defines any lazy properties (ala
 bytecode instrumentation). 
 | 
boolean | 
hasMutableProperties()
Determine whether any properties of this entity are considered mutable. 
 | 
boolean | 
hasNaturalIdCache()
Does this class have a natural id cache 
 | 
boolean | 
hasNaturalIdentifier()
Determine whether this entity defines a natural identifier. 
 | 
boolean | 
hasProxy()
Determine whether this entity supports dynamic proxies. 
 | 
boolean | 
hasRowId()
Does the result set contain rowids? 
 | 
boolean | 
hasSequentialSelect()  | 
boolean | 
hasSubclasses()
Does this persistent class have subclasses? 
 | 
boolean | 
hasSubselectLoadableCollections()
Determine whether this entity contains references to persistent collections
 which are fetchable by subselect? 
 | 
boolean | 
hasUninitializedLazyProperties(Object object)
Does the given instance have any uninitialized lazy properties? 
 | 
boolean | 
hasUpdateGeneratedProperties()
Does this entity define any properties as being database generated on update? 
 | 
protected boolean | 
hasWhere()  | 
Object[] | 
hydrate(ResultSet rs,
       Serializable id,
       Object object,
       Loadable rootLoadable,
       String[][] suffixedPropertyColumns,
       boolean allProperties,
       SessionImplementor session)
Unmarshall the fields of a persistent instance from a result set,
 without resolving associations or collections. 
 | 
String | 
identifierSelectFragment(String name,
                        String suffix)
Given a query alias and an identifying suffix, render the identifier select fragment. 
 | 
boolean | 
implementsLifecycle()
Does the class implement the  
Lifecycle interface. | 
Object | 
initializeLazyProperty(String fieldName,
                      Object entity,
                      SessionImplementor session)
Initialize the property, and return its new value. 
 | 
protected void | 
initLockers()  | 
protected void | 
initPropertyPaths(Mapping mapping)  | 
protected void | 
initSubclassPropertyAliasesMap(EntityBinding model)
Must be called by subclasses, at the end of their constructors 
 | 
protected void | 
initSubclassPropertyAliasesMap(PersistentClass model)
Must be called by subclasses, at the end of their constructors 
 | 
protected Serializable | 
insert(Object[] fields,
      boolean[] notNull,
      String sql,
      Object object,
      SessionImplementor session)
Perform an SQL INSERT, and then retrieve a generated identifier. 
 | 
Serializable | 
insert(Object[] fields,
      Object object,
      SessionImplementor session)
Persist an instance, using a natively generated identifier (optional operation) 
 | 
protected void | 
insert(Serializable id,
      Object[] fields,
      boolean[] notNull,
      int j,
      String sql,
      Object object,
      SessionImplementor session)
Perform an SQL INSERT. 
 | 
void | 
insert(Serializable id,
      Object[] fields,
      Object object,
      SessionImplementor session)
Persist an instance 
 | 
Object | 
instantiate(Serializable id,
           SessionImplementor session)
Create a class instance initialized with the given identifier 
 | 
boolean | 
isAbstract()
Is this an abstract class? 
 | 
boolean | 
isBatchable()  | 
boolean | 
isBatchLoadable()
Is batch loading enabled? 
 | 
boolean | 
isCacheInvalidationRequired()
We can't immediately add to the cache if we have formulas
 which must be evaluated, or if we have the possibility of
 two concurrent updates to the same item being merged on
 the database. 
 | 
protected abstract boolean | 
isClassOrSuperclassTable(int j)  | 
boolean | 
isCollection()
Is this instance actually a CollectionPersister? 
 | 
boolean | 
isDefinedOnSubclass(int i)
Is this property defined on a subclass of the mapped class. 
 | 
protected boolean | 
isDeleteCallable(int j)  | 
boolean | 
isExplicitPolymorphism()
Is this class explicit polymorphism only? 
 | 
boolean | 
isIdentifierAssignedByInsert()
Are identifiers of this entity assigned known before the insert execution?
 Or, are they generated (in the database) by the insert execution. 
 | 
boolean | 
isInherited()
Determine whether the entity is inherited one or more other entities. 
 | 
protected boolean | 
isInsertCallable(int j)  | 
boolean | 
isInstance(Object object)
Is the given object an instance of this entity? 
 | 
boolean | 
isInstrumented()
Has the class actually been bytecode instrumented? 
 | 
protected boolean | 
isInverseSubclassTable(int j)  | 
protected boolean | 
isInverseTable(int j)  | 
boolean | 
isLazyPropertiesCacheable()
Should lazy properties of this entity be cached? 
 | 
boolean | 
isMultiTable()
Is the inheritance hierarchy described by this persister contained across
 multiple tables? 
 | 
boolean | 
isMutable()
Determine whether instances of this entity are considered mutable. 
 | 
protected boolean | 
isNaturalIdNonNullable()  | 
protected boolean | 
isNullableSubclassTable(int j)  | 
protected boolean | 
isNullableTable(int j)  | 
boolean | 
isPolymorphic()  | 
protected abstract boolean | 
isPropertyOfTable(int property,
                 int j)  | 
boolean | 
isSelectBeforeUpdateRequired()
Is select snapshot before update enabled? 
 | 
boolean | 
isSubclassEntityName(String entityName)
Determine whether the given name represents a subclass entity
 (or this entity itself) of the entity mapped by this persister. 
 | 
protected boolean | 
isSubclassPropertyDeferred(String propertyName,
                          String entityName)  | 
boolean | 
isSubclassPropertyNullable(int i)
Is the numbered property of the class of subclass nullable? 
 | 
protected boolean | 
isSubclassTableIndicatedByTreatAsDeclarations(int subclassTableNumber,
                                             Set<String> treatAsDeclarations)  | 
protected boolean | 
isSubclassTableLazy(int j)  | 
protected boolean | 
isSubclassTableSequentialSelect(int j)  | 
protected abstract boolean | 
isTableCascadeDeleteEnabled(int j)  | 
Boolean | 
isTransient(Object entity,
           SessionImplementor session)
Is this a new transient instance? 
 | 
protected boolean | 
isUpdateCallable(int j)  | 
boolean | 
isVersioned()
Determine whether optimistic locking by column is enabled for this
 entity. 
 | 
boolean | 
isVersionPropertyGenerated()
Does this entity contain a version property that is defined
 to be database generated? 
 | 
boolean | 
isVersionPropertyInsertable()
Is the version property included in insert statements? 
 | 
Object | 
load(Serializable id,
    Object optionalObject,
    LockMode lockMode,
    SessionImplementor session)
Load an instance using either the forUpdateLoader or the outer joining loader,
 depending upon the value of the lock parameter 
 | 
Object | 
load(Serializable id,
    Object optionalObject,
    LockOptions lockOptions,
    SessionImplementor session)
Load an instance using either the forUpdateLoader or the outer joining loader,
 depending upon the value of the lock parameter 
 | 
Object | 
loadByUniqueKey(String propertyName,
               Object uniqueKey,
               SessionImplementor session)
Load an instance of the persistent class, by a unique key other
 than the primary key. 
 | 
Serializable | 
loadEntityIdByNaturalId(Object[] naturalIdValues,
                       LockOptions lockOptions,
                       SessionImplementor session)
Load the id for the entity based on the natural id. 
 | 
void | 
lock(Serializable id,
    Object version,
    Object object,
    LockMode lockMode,
    SessionImplementor session)
Do a version check (optional operation) 
 | 
void | 
lock(Serializable id,
    Object version,
    Object object,
    LockOptions lockOptions,
    SessionImplementor session)
Do a version check (optional operation) 
 | 
protected void | 
logStaticSQL()  | 
String | 
oneToManyFilterFragment(String alias)  | 
String | 
oneToManyFilterFragment(String alias,
                       Set<String> treatAsDeclarations)  | 
protected OptimisticLockStyle | 
optimisticLockStyle()  | 
protected void | 
postConstruct(Mapping mapping)
Post-construct is a callback for AbstractEntityPersister subclasses to call after they are all done with their
 constructor processing. 
 | 
void | 
postInstantiate()
Finish the initialization of this object. 
 | 
void | 
processInsertGeneratedProperties(Serializable id,
                                Object entity,
                                Object[] state,
                                SessionImplementor session)
Perform a select to retrieve the values of any generated properties
 back from the database, injecting these generated values into the
 given entity as well as writing this state to the
  
PersistenceContext. | 
void | 
processUpdateGeneratedProperties(Serializable id,
                                Object entity,
                                Object[] state,
                                SessionImplementor session)
Perform a select to retrieve the values of any generated properties
 back from the database, injecting these generated values into the
 given entity as well as writing this state to the
  
PersistenceContext. | 
String | 
propertySelectFragment(String tableAlias,
                      String suffix,
                      boolean allProperties)
Given a query alias and an identifying suffix, render the property select fragment. 
 | 
SelectFragment | 
propertySelectFragmentFragment(String tableAlias,
                              String suffix,
                              boolean allProperties)  | 
void | 
registerAffectingFetchProfile(String fetchProfileName)
Register the name of a fetch profile determined to have an affect on the
 underlying loadable in regards to the fact that the underlying load SQL
 needs to be adjust when the given fetch profile is enabled. 
 | 
protected String | 
renderSelect(int[] tableNumbers,
            int[] columnNumbers,
            int[] formulaNumbers)  | 
void | 
resetIdentifier(Object entity,
               Serializable currentId,
               Object currentVersion,
               SessionImplementor session)
Set the identifier and version of the given instance back to its "unsaved" value. 
 | 
int[] | 
resolveAttributeIndexes(Set<String> properties)  | 
String | 
selectFragment(Joinable rhs,
              String rhsAlias,
              String lhsAlias,
              String entitySuffix,
              String collectionSuffix,
              boolean includeCollectionColumns)
All columns to select, when loading. 
 | 
String | 
selectFragment(String alias,
              String suffix)
Generate a list of collection index, key and element columns 
 | 
void | 
setIdentifier(Object entity,
             Serializable id,
             SessionImplementor session)
Inject the identifier value into the given entity. 
 | 
void | 
setPropertyValue(Object object,
                int i,
                Object value)
Set the value of a particular property 
 | 
void | 
setPropertyValue(Object object,
                String propertyName,
                Object value)
Set the value of a particular (named) property 
 | 
void | 
setPropertyValues(Object object,
                 Object[] values)
Set the given values to the mapped properties of the given object 
 | 
String[] | 
toColumns(String propertyName)
Given a property path, return the corresponding column name(s). 
 | 
String[] | 
toColumns(String name,
         int i)
Given the number of a property of a subclass, and a table alias,
 return the aliased column names. 
 | 
String[] | 
toColumns(String alias,
         String propertyName)
Obtain aliased column/formula fragments for the specified property path. 
 | 
String | 
toString()  | 
Type | 
toType(String propertyName)
Given a component path expression, get the type of the property 
 | 
void | 
update(Serializable id,
      Object[] fields,
      int[] dirtyFields,
      boolean hasDirtyCollection,
      Object[] oldFields,
      Object oldVersion,
      Object object,
      Object rowId,
      SessionImplementor session)
Update an object 
 | 
protected boolean | 
update(Serializable id,
      Object[] fields,
      Object[] oldFields,
      Object rowId,
      boolean[] includeProperty,
      int j,
      Object oldVersion,
      Object object,
      String sql,
      SessionImplementor session)  | 
protected void | 
updateOrInsert(Serializable id,
              Object[] fields,
              Object[] oldFields,
              Object rowId,
              boolean[] includeProperty,
              int j,
              Object oldVersion,
              Object object,
              String sql,
              SessionImplementor session)
Perform an SQL UPDATE or SQL INSERT 
 | 
protected boolean | 
useDynamicInsert()  | 
protected boolean | 
useDynamicUpdate()  | 
protected boolean | 
useGetGeneratedKeys()  | 
protected boolean | 
useInsertSelectIdentity()  | 
String | 
whereJoinFragment(String alias,
                 boolean innerJoin,
                 boolean includeSubclasses)
Get the where clause part of any joins
 (optional operation) 
 | 
String | 
whereJoinFragment(String alias,
                 boolean innerJoin,
                 boolean includeSubclasses,
                 Set<String> treatAsDeclarations)
Get the where clause part of any joins
 (optional operation) 
 | 
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitfromTableFragment, getPropertyTableName, getSubclassPropertyTableNamegetConstraintOrderedTableNameClosure, getContraintOrderedTableKeyColumnClosure, getDiscriminatorSQLValuegetTableNamegetDiscriminatorType, getDiscriminatorValue, getSubclassForDiscriminatorValuegetFilterAliasGenerator, getPropertySpaceshasIdentifierProperty in interface ClassMetadatahasIdentifierProperty in interface EntityPersisterpublic static final String ENTITY_CLASS
protected final String rowIdName
protected boolean[] insertCallable
protected boolean[] updateCallable
protected boolean[] deleteCallable
protected String[] customSQLInsert
protected String[] customSQLUpdate
protected String[] customSQLDelete
protected ExecuteUpdateResultCheckStyle[] insertResultCheckStyles
protected ExecuteUpdateResultCheckStyle[] updateResultCheckStyles
protected ExecuteUpdateResultCheckStyle[] deleteResultCheckStyles
protected final BasicEntityPropertyMapping propertyMapping
public AbstractEntityPersister(PersistentClass persistentClass, EntityRegionAccessStrategy cacheAccessStrategy, NaturalIdRegionAccessStrategy naturalIdRegionAccessStrategy, SessionFactoryImplementor factory) throws HibernateException
HibernateExceptionpublic AbstractEntityPersister(EntityBinding entityBinding, EntityRegionAccessStrategy cacheAccessStrategy, NaturalIdRegionAccessStrategy naturalIdRegionAccessStrategy, SessionFactoryImplementor factory) throws HibernateException
HibernateExceptionprotected void addDiscriminatorToInsert(Insert insert)
protected void addDiscriminatorToSelect(SelectFragment select, String name, String suffix)
protected abstract int[] getSubclassColumnTableNumberClosure()
protected abstract int[] getSubclassFormulaTableNumberClosure()
public abstract String getSubclassTableName(int j)
QueryablegetSubclassTableName in interface Queryablej - The index into the internal array.protected abstract String[] getSubclassTableKeyColumns(int j)
protected abstract boolean isClassOrSuperclassTable(int j)
protected abstract int getSubclassTableSpan()
protected abstract int getTableSpan()
protected abstract boolean isTableCascadeDeleteEnabled(int j)
protected abstract String getTableName(int j)
protected abstract String[] getKeyColumns(int j)
protected abstract boolean isPropertyOfTable(int property,
                        int j)
protected abstract int[] getPropertyTableNumbersInSelect()
protected abstract int[] getPropertyTableNumbers()
protected abstract int getSubclassPropertyTableNumber(int i)
protected abstract String filterFragment(String alias) throws MappingException
MappingExceptionprotected abstract String filterFragment(String alias, Set<String> treatAsDeclarations)
public String getDiscriminatorColumnName()
getDiscriminatorColumnName in interface Loadablepublic String getDiscriminatorColumnReaders()
public String getDiscriminatorColumnReaderTemplate()
protected String getDiscriminatorAlias()
protected String getDiscriminatorFormulaTemplate()
protected boolean isInverseTable(int j)
protected boolean isNullableTable(int j)
protected boolean isNullableSubclassTable(int j)
protected boolean isInverseSubclassTable(int j)
public boolean isSubclassEntityName(String entityName)
EntityPersisterisSubclassEntityName in interface EntityPersisterentityName - The entity name to be checked.public String[] getRootTableKeyColumnNames()
PostInsertIdentityPersistergetRootTableKeyColumnNames in interface PostInsertIdentityPersisterprotected String[] getSQLUpdateByRowIdStrings()
protected String[] getSQLLazyUpdateByRowIdStrings()
protected String getSQLSnapshotSelectString()
protected String getSQLLazySelectString()
protected String[] getSQLDeleteStrings()
protected String[] getSQLInsertStrings()
protected String[] getSQLUpdateStrings()
protected String[] getSQLLazyUpdateStrings()
protected String getSQLIdentityInsertString()
protected String getVersionSelectString()
protected boolean isInsertCallable(int j)
protected boolean isUpdateCallable(int j)
protected boolean isDeleteCallable(int j)
protected boolean isSubclassPropertyDeferred(String propertyName, String entityName)
protected boolean isSubclassTableSequentialSelect(int j)
public boolean hasSequentialSelect()
protected boolean[] getTableUpdateNeeded(int[] dirtyProperties,
                             boolean hasDirtyCollection)
dirtyProperties - The indices of all the entity properties considered dirty.hasDirtyCollection - Whether any collections owned by the entity which were considered dirty.public boolean hasRowId()
Loadableprotected boolean[][] getPropertyColumnUpdateable()
protected boolean[][] getPropertyColumnInsertable()
protected boolean[] getPropertySelectable()
protected AbstractEntityPersister.CacheEntryHelper buildCacheEntryHelper()
public boolean canUseReferenceCacheEntries()
canUseReferenceCacheEntries in interface EntityPersisterprotected static String getTemplateFromString(String string, SessionFactoryImplementor factory)
public String getTemplateFromColumn(Column column, SessionFactoryImplementor factory)
protected String generateLazySelectString()
public Object initializeLazyProperty(String fieldName, Object entity, SessionImplementor session) throws HibernateException
LazyPropertyInitializerinitializeLazyProperty in interface LazyPropertyInitializerfieldName - The name of the field being initializedentity - The entity on which the initialization is occurringsession - The session from which the initialization originated.HibernateExceptionpublic boolean isBatchable()
public Serializable[] getQuerySpaces()
EntityPersisterEntityPersister.getPropertySpaces(), except that here we include subclass
 entity spaces.getQuerySpaces in interface EntityPersisterprotected Set getLazyProperties()
public boolean isBatchLoadable()
EntityPersisterisBatchLoadable in interface EntityPersisterpublic String[] getIdentifierColumnNames()
LoadablegetIdentifierColumnNames in interface PostInsertIdentityPersistergetIdentifierColumnNames in interface LoadablegetIdentifierColumnNames in interface Queryablepublic String[] getIdentifierColumnReaders()
public String[] getIdentifierColumnReaderTemplates()
protected int getIdentifierColumnSpan()
protected String[] getIdentifierAliases()
public String getVersionColumnName()
LockablegetVersionColumnName in interface Lockableprotected String getVersionedTableName()
protected boolean[] getSubclassColumnLazyiness()
protected boolean[] getSubclassFormulaLazyiness()
public boolean isCacheInvalidationRequired()
isCacheInvalidationRequired in interface EntityPersisterpublic boolean isLazyPropertiesCacheable()
EntityPersisterisLazyPropertiesCacheable in interface EntityPersisterpublic String selectFragment(String alias, String suffix)
OuterJoinLoadableselectFragment in interface OuterJoinLoadableselectFragment in interface SQLLoadablepublic String[] getIdentifierAliases(String suffix)
LoadablegetIdentifierAliases in interface Loadablepublic String[] getPropertyAliases(String suffix, int i)
LoadablegetPropertyAliases in interface Loadablepublic String getDiscriminatorAlias(String suffix)
LoadablegetDiscriminatorAlias in interface Loadablepublic String identifierSelectFragment(String name, String suffix)
QueryableidentifierSelectFragment in interface Queryablepublic String propertySelectFragment(String tableAlias, String suffix, boolean allProperties)
QueryablepropertySelectFragment in interface Queryablepublic SelectFragment propertySelectFragmentFragment(String tableAlias, String suffix, boolean allProperties)
propertySelectFragmentFragment in interface Queryablepublic Object[] getDatabaseSnapshot(Serializable id, SessionImplementor session) throws HibernateException
EntityPersistergetDatabaseSnapshot in interface EntityPersisterHibernateExceptionpublic Serializable getIdByUniqueKey(Serializable key, String uniquePropertyName, SessionImplementor session) throws HibernateException
getIdByUniqueKey in interface EntityPersisterHibernateExceptionprotected String generateIdByUniqueKeySelectString(String uniquePropertyName)
protected String generateSelectVersionString()
public boolean[] getPropertyUniqueness()
protected String generateInsertGeneratedValuesSelectString()
protected String generateUpdateGeneratedValuesSelectString()
protected String concretePropertySelectFragment(String alias, boolean[] includeProperty)
protected String concretePropertySelectFragment(String alias, AbstractEntityPersister.InclusionChecker inclusionChecker)
protected String generateSnapshotSelectString()
public Object forceVersionIncrement(Serializable id, Object currentVersion, SessionImplementor session)
forceVersionIncrement in interface EntityPersisterpublic Object getCurrentVersion(Serializable id, SessionImplementor session) throws HibernateException
getCurrentVersion in interface EntityPersisterHibernateExceptionprotected void initLockers()
protected LockingStrategy generateLocker(LockMode lockMode)
public void lock(Serializable id, Object version, Object object, LockMode lockMode, SessionImplementor session) throws HibernateException
EntityPersisterlock in interface EntityPersisterHibernateExceptionpublic void lock(Serializable id, Object version, Object object, LockOptions lockOptions, SessionImplementor session) throws HibernateException
EntityPersisterlock in interface EntityPersisterHibernateExceptionpublic String getRootTableName()
LockablegetRootTableName in interface Lockablepublic String getRootTableAlias(String drivingAlias)
LockablegetRootTableAlias in interface LockabledrivingAlias - The driving alias; or the alias for the table
 mapped by this persister in the hierarchy.public String[] getRootTableIdentifierColumnNames()
LockablegetRootTableIdentifierColumnNames in interface Lockablepublic String[] toColumns(String alias, String propertyName) throws QueryException
PropertyMappingtoColumns in interface PropertyMappingQueryExceptionpublic String[] toColumns(String propertyName) throws QueryException
PropertyMappingtoColumns in interface PropertyMappingQueryExceptionpublic Type toType(String propertyName) throws QueryException
PropertyMappingtoType in interface PropertyMappingQueryExceptionpublic String[] getPropertyColumnNames(String propertyName)
OuterJoinLoadablegetPropertyColumnNames in interface OuterJoinLoadablepublic int getSubclassPropertyTableNumber(String propertyPath)
getSubclassPropertyTableNumber in interface QueryablepropertyPath - The name of the property.public Queryable.Declarer getSubclassPropertyDeclarer(String propertyPath)
QueryableQueryable.getSubclassPropertyTableNumber(java.lang.String)getSubclassPropertyDeclarer in interface QueryablepropertyPath - The property name.public DiscriminatorMetadata getTypeDiscriminatorMetadata()
QueryablegetTypeDiscriminatorMetadata in interface Queryablepublic String[] toColumns(String name, int i)
OuterJoinLoadabletoColumns in interface OuterJoinLoadableprotected String[] getPropertySubclassNames()
public String[] getPropertyColumnNames(int i)
LoadablegetPropertyColumnNames in interface Loadablepublic String[] getPropertyColumnWriters(int i)
protected int getPropertyColumnSpan(int i)
protected boolean hasFormulaProperties()
public FetchMode getFetchMode(int i)
OuterJoinLoadablegetFetchMode in interface OuterJoinLoadablepublic CascadeStyle getCascadeStyle(int i)
OuterJoinLoadablegetCascadeStyle in interface OuterJoinLoadablepublic Type getSubclassPropertyType(int i)
OuterJoinLoadablegetSubclassPropertyType in interface OuterJoinLoadablepublic String getSubclassPropertyName(int i)
OuterJoinLoadablegetSubclassPropertyName in interface OuterJoinLoadablepublic int countSubclassProperties()
OuterJoinLoadablecountSubclassProperties in interface OuterJoinLoadablepublic String[] getSubclassPropertyColumnNames(int i)
OuterJoinLoadablegetSubclassPropertyColumnNames in interface OuterJoinLoadablepublic boolean isDefinedOnSubclass(int i)
OuterJoinLoadableisDefinedOnSubclass in interface OuterJoinLoadablepublic String[][] getSubclassPropertyFormulaTemplateClosure()
getSubclassPropertyFormulaTemplateClosure in interface Queryableprotected Type[] getSubclassPropertyTypeClosure()
protected String[][] getSubclassPropertyColumnNameClosure()
public String[][] getSubclassPropertyColumnReaderClosure()
public String[][] getSubclassPropertyColumnReaderTemplateClosure()
protected String[] getSubclassPropertyNameClosure()
public int[] resolveAttributeIndexes(Set<String> properties)
resolveAttributeIndexes in interface EntityPersisterprotected String[] getSubclassPropertySubclassNameClosure()
protected String[] getSubclassColumnClosure()
protected String[] getSubclassColumnAliasClosure()
public String[] getSubclassColumnReaderTemplateClosure()
protected String[] getSubclassFormulaClosure()
protected String[] getSubclassFormulaTemplateClosure()
protected String[] getSubclassFormulaAliasClosure()
public String[] getSubclassPropertyColumnAliases(String propertyName, String suffix)
SQLLoadablegetSubclassPropertyColumnAliases in interface SQLLoadablepublic String[] getSubclassPropertyColumnNames(String propertyName)
SQLLoadablegetSubclassPropertyColumnNames in interface SQLLoadableprotected void initSubclassPropertyAliasesMap(PersistentClass model) throws MappingException
MappingExceptionprotected void initSubclassPropertyAliasesMap(EntityBinding model) throws MappingException
MappingExceptionpublic Object loadByUniqueKey(String propertyName, Object uniqueKey, SessionImplementor session) throws HibernateException
UniqueKeyLoadableloadByUniqueKey in interface UniqueKeyLoadableHibernateExceptionpublic int getPropertyIndex(String propertyName)
UniqueKeyLoadablegetPropertyIndex in interface UniqueKeyLoadableprotected void createUniqueKeyLoaders()
                               throws MappingException
MappingExceptionprotected boolean hasWhere()
protected void initPropertyPaths(Mapping mapping) throws MappingException
MappingExceptionprotected UniqueEntityLoader createEntityLoader(LockMode lockMode, LoadQueryInfluencers loadQueryInfluencers) throws MappingException
MappingExceptionprotected UniqueEntityLoader createEntityLoader(LockOptions lockOptions, LoadQueryInfluencers loadQueryInfluencers) throws MappingException
MappingExceptionprotected UniqueEntityLoader createEntityLoader(LockMode lockMode) throws MappingException
getLocker(org.hibernate.LockMode))lockMode - The lock mode to apply to the thing being loaded.MappingExceptionprotected boolean check(int rows,
            Serializable id,
            int tableNumber,
            Expectation expectation,
            PreparedStatement statement)
                 throws HibernateException
HibernateExceptionprotected String generateUpdateString(boolean[] includeProperty, int j, boolean useRowId)
protected String generateUpdateString(boolean[] includeProperty, int j, Object[] oldFields, boolean useRowId)
protected String generateInsertString(boolean[] includeProperty, int j)
protected String generateInsertString(boolean identityInsert, boolean[] includeProperty)
protected String generateInsertString(boolean identityInsert, boolean[] includeProperty, int j)
protected String generateIdentityInsertString(boolean[] includeProperty)
includeProperty - indices of the properties to include in the
 insert statement.protected String generateDeleteString(int j)
protected int dehydrate(Serializable id, Object[] fields, boolean[] includeProperty, boolean[][] includeColumns, int j, PreparedStatement st, SessionImplementor session, boolean isUpdate) throws HibernateException, SQLException
HibernateExceptionSQLExceptionprotected int dehydrate(Serializable id, Object[] fields, Object rowId, boolean[] includeProperty, boolean[][] includeColumns, int j, PreparedStatement ps, SessionImplementor session, int index, boolean isUpdate) throws SQLException, HibernateException
SQLExceptionHibernateExceptionpublic Object[] hydrate(ResultSet rs, Serializable id, Object object, Loadable rootLoadable, String[][] suffixedPropertyColumns, boolean allProperties, SessionImplementor session) throws SQLException, HibernateException
hydrate in interface LoadableSQLExceptionHibernateExceptionprotected boolean useInsertSelectIdentity()
protected boolean useGetGeneratedKeys()
protected Serializable insert(Object[] fields, boolean[] notNull, String sql, Object object, SessionImplementor session) throws HibernateException
HibernateExceptionpublic String getIdentitySelectString()
PostInsertIdentityPersistergetIdentitySelectString in interface PostInsertIdentityPersisterpublic String getSelectByUniqueKeyString(String propertyName)
PostInsertIdentityPersistergetSelectByUniqueKeyString in interface PostInsertIdentityPersisterpropertyName - The name of the property which maps to the
 column(s) to use in the select statement restriction.protected void insert(Serializable id, Object[] fields, boolean[] notNull, int j, String sql, Object object, SessionImplementor session) throws HibernateException
HibernateExceptionprotected void updateOrInsert(Serializable id, Object[] fields, Object[] oldFields, Object rowId, boolean[] includeProperty, int j, Object oldVersion, Object object, String sql, SessionImplementor session) throws HibernateException
HibernateExceptionprotected boolean update(Serializable id, Object[] fields, Object[] oldFields, Object rowId, boolean[] includeProperty, int j, Object oldVersion, Object object, String sql, SessionImplementor session) throws HibernateException
HibernateExceptionprotected void delete(Serializable id, Object version, int j, Object object, String sql, SessionImplementor session, Object[] loadedState) throws HibernateException
HibernateExceptionpublic void update(Serializable id, Object[] fields, int[] dirtyFields, boolean hasDirtyCollection, Object[] oldFields, Object oldVersion, Object object, Object rowId, SessionImplementor session) throws HibernateException
update in interface EntityPersisterHibernateExceptionpublic Serializable insert(Object[] fields, Object object, SessionImplementor session) throws HibernateException
EntityPersisterinsert in interface EntityPersisterHibernateExceptionpublic void insert(Serializable id, Object[] fields, Object object, SessionImplementor session)
EntityPersisterinsert in interface EntityPersisterpublic void delete(Serializable id, Object version, Object object, SessionImplementor session) throws HibernateException
delete in interface EntityPersisterHibernateExceptionprotected void logStaticSQL()
public String filterFragment(String alias, Map enabledFilters) throws MappingException
JoinablefilterFragment in interface JoinableMappingExceptionpublic String filterFragment(String alias, Map enabledFilters, Set<String> treatAsDeclarations)
JoinablefilterFragment in interface Joinablepublic String generateFilterConditionAlias(String rootAlias)
QueryablegenerateFilterConditionAlias in interface QueryablerootAlias - The root aliaspublic String oneToManyFilterFragment(String alias) throws MappingException
oneToManyFilterFragment in interface JoinableMappingExceptionpublic String oneToManyFilterFragment(String alias, Set<String> treatAsDeclarations)
oneToManyFilterFragment in interface Joinablepublic String fromJoinFragment(String alias, boolean innerJoin, boolean includeSubclasses)
JoinablefromJoinFragment in interface Joinablepublic String fromJoinFragment(String alias, boolean innerJoin, boolean includeSubclasses, Set<String> treatAsDeclarations)
JoinablefromJoinFragment in interface Joinablepublic String whereJoinFragment(String alias, boolean innerJoin, boolean includeSubclasses)
JoinablewhereJoinFragment in interface Joinablepublic String whereJoinFragment(String alias, boolean innerJoin, boolean includeSubclasses, Set<String> treatAsDeclarations)
JoinablewhereJoinFragment in interface Joinableprotected boolean isSubclassTableLazy(int j)
protected JoinFragment createJoin(String name, boolean innerJoin, boolean includeSubclasses, Set<String> treatAsDeclarations)
protected JoinType determineSubclassTableJoinType(int subclassTableNumber, boolean canInnerJoin, boolean includeSubclasses, Set<String> treatAsDeclarations)
protected boolean isSubclassTableIndicatedByTreatAsDeclarations(int subclassTableNumber,
                                                    Set<String> treatAsDeclarations)
protected JoinFragment createJoin(int[] tableNumbers, String drivingAlias)
protected SelectFragment createSelect(int[] subclassColumnNumbers, int[] subclassFormulaNumbers)
protected String renderSelect(int[] tableNumbers, int[] columnNumbers, int[] formulaNumbers)
protected void postConstruct(Mapping mapping) throws MappingException
mapping - The mappingMappingException - Indicates a problem accessing the Mappingpublic final void postInstantiate()
                           throws MappingException
EntityPersisterEntityPersister.generateEntityDefinition()
 must be called for all entity persisters before calling this method.
 
 Called only once per SessionFactory lifecycle,
 after all entity persisters have been instantiated.postInstantiate in interface EntityPersisterMappingException - Indicates an issue in the metadata.protected void doPostInstantiate()
protected Map getLoaders()
protected void createLoaders()
protected void createQueryLoader()
public Object load(Serializable id, Object optionalObject, LockMode lockMode, SessionImplementor session)
load in interface EntityPersisterpublic Object load(Serializable id, Object optionalObject, LockOptions lockOptions, SessionImplementor session) throws HibernateException
load in interface EntityPersisterHibernateExceptionpublic void registerAffectingFetchProfile(String fetchProfileName)
LoadableregisterAffectingFetchProfile in interface LoadablefetchProfileName - The name of the profile affecting this.public boolean isSubclassPropertyNullable(int i)
OuterJoinLoadableisSubclassPropertyNullable in interface OuterJoinLoadableprotected final boolean[] getPropertiesToUpdate(int[] dirtyProperties,
                              boolean hasDirtyCollection)
protected boolean[] getPropertiesToInsert(Object[] fields)
public int[] findDirty(Object[] currentState, Object[] previousState, Object entity, SessionImplementor session) throws HibernateException
findDirty in interface EntityPersistercurrentState - The current state of the entity (the state to be checked).previousState - The previous state of the entity (the state to be checked against).entity - The entity for which we are checking state dirtiness.session - The session in which the check is occurring.HibernateExceptionpublic int[] findModified(Object[] old, Object[] current, Object entity, SessionImplementor session) throws HibernateException
findModified in interface EntityPersisterold - The old state of the entity.current - The current state of the entity.entity - The entity for which we are checking state modification.session - The session in which the check is occurring.HibernateExceptionprotected boolean[] getPropertyUpdateability(Object entity)
public SessionFactoryImplementor getFactory()
EntityPersistergetFactory in interface EntityPersisterpublic EntityMetamodel getEntityMetamodel()
EntityPersistergetEntityMetamodel in interface EntityPersisterpublic boolean hasCache()
EntityPersisterhasCache in interface EntityPersisterpublic EntityRegionAccessStrategy getCacheAccessStrategy()
EntityPersistergetCacheAccessStrategy in interface EntityPersisterpublic CacheEntryStructure getCacheEntryStructure()
EntityPersistergetCacheEntryStructure in interface EntityPersisterpublic CacheEntry buildCacheEntry(Object entity, Object[] state, Object version, SessionImplementor session)
buildCacheEntry in interface EntityPersisterpublic boolean hasNaturalIdCache()
EntityPersisterhasNaturalIdCache in interface EntityPersisterpublic NaturalIdRegionAccessStrategy getNaturalIdCacheAccessStrategy()
EntityPersistergetNaturalIdCacheAccessStrategy in interface EntityPersisterpublic Comparator getVersionComparator()
OptimisticCacheSourceOptimisticCacheSource.isVersioned() returns false.getVersionComparator in interface OptimisticCacheSourcepublic final String getEntityName()
EntityPersistergetEntityName in interface ClassMetadatagetEntityName in interface EntityPersisterpublic EntityType getEntityType()
getEntityType in interface OuterJoinLoadablepublic boolean isPolymorphic()
public boolean isInherited()
EntityPersisterisInherited in interface ClassMetadataisInherited in interface EntityPersisterpublic boolean hasCascades()
EntityPersisterhasCascades in interface EntityPersisterpublic boolean hasIdentifierProperty()
EntityPersisterhasIdentifierProperty in interface ClassMetadatahasIdentifierProperty in interface EntityPersisterpublic VersionType getVersionType()
EntityPersisterEntityPersister.isVersioned(), then what is the type of the property
 holding the locking value.getVersionType in interface EntityPersisterpublic int getVersionProperty()
EntityPersisterEntityPersister.isVersioned(), then what is the index of the property
 holding the locking value.getVersionProperty in interface ClassMetadatagetVersionProperty in interface EntityPersisterpublic boolean isVersioned()
EntityPersisterisVersioned in interface OptimisticCacheSourceisVersioned in interface ClassMetadataisVersioned in interface EntityPersisterpublic boolean isIdentifierAssignedByInsert()
EntityPersisterisIdentifierAssignedByInsert in interface EntityPersisterpublic boolean hasLazyProperties()
EntityPersisterhasLazyProperties in interface EntityPersisterpublic void afterReassociate(Object entity, SessionImplementor session)
EntityPersisterafterReassociate in interface EntityPersisterpublic Boolean isTransient(Object entity, SessionImplementor session) throws HibernateException
EntityPersisterisTransient in interface EntityPersisterHibernateExceptionpublic boolean hasCollections()
EntityPersisterhasCollections in interface EntityPersisterpublic boolean hasMutableProperties()
EntityPersisterhasMutableProperties in interface EntityPersisterpublic boolean isMutable()
EntityPersisterisMutable in interface ClassMetadataisMutable in interface EntityPersisterpublic boolean isAbstract()
QueryableisAbstract in interface LoadableisAbstract in interface Queryablepublic boolean hasSubclasses()
LoadablehasSubclasses in interface ClassMetadatahasSubclasses in interface Loadablepublic boolean hasProxy()
EntityPersisterhasProxy in interface ClassMetadatahasProxy in interface EntityPersisterpublic IdentifierGenerator getIdentifierGenerator() throws HibernateException
EntityPersistergetIdentifierGenerator in interface EntityPersisterHibernateExceptionpublic String getRootEntityName()
EntityPersistergetRootEntityName in interface EntityPersisterpublic ClassMetadata getClassMetadata()
EntityPersistergetClassMetadata in interface EntityPersisterpublic String getMappedSuperclass()
QueryablegetMappedSuperclass in interface Queryablepublic boolean isExplicitPolymorphism()
QueryableisExplicitPolymorphism in interface Queryableprotected boolean useDynamicUpdate()
protected boolean useDynamicInsert()
protected boolean hasEmbeddedCompositeIdentifier()
public boolean canExtractIdOutOfEntity()
EntityPersistercanExtractIdOutOfEntity in interface EntityPersisterEntityPersister.hasIdentifierProperty() or
 (2) the identifier is an embedded composite identifier; false otherwise.public String[] getKeyColumnNames()
JoinablegetKeyColumnNames in interface Joinablepublic String getName()
Joinablepublic boolean isCollection()
JoinableisCollection in interface Joinablepublic boolean consumesEntityAlias()
JoinableconsumesEntityAlias in interface Joinablepublic boolean consumesCollectionAlias()
JoinableconsumesCollectionAlias in interface Joinablepublic Type getPropertyType(String propertyName) throws MappingException
EntityPersistergetPropertyType in interface ClassMetadatagetPropertyType in interface EntityPersisterpropertyName - The name of the property for which to retrieve
 the type.MappingException - Typically indicates an unknown
 property name.public Type getType()
PropertyMappinggetType in interface PropertyMappinggetType in interface SQLLoadablepublic boolean isSelectBeforeUpdateRequired()
EntityPersisterisSelectBeforeUpdateRequired in interface EntityPersisterprotected final OptimisticLockStyle optimisticLockStyle()
public Object createProxy(Serializable id, SessionImplementor session) throws HibernateException
EntityPersistercreateProxy in interface EntityPersisterHibernateExceptionpublic final String selectFragment(Joinable rhs, String rhsAlias, String lhsAlias, String entitySuffix, String collectionSuffix, boolean includeCollectionColumns)
JoinableselectFragment in interface Joinablepublic boolean isInstrumented()
EntityPersisterisInstrumented in interface EntityPersisterpublic boolean hasInsertGeneratedProperties()
EntityPersisterhasInsertGeneratedProperties in interface EntityPersisterpublic boolean hasUpdateGeneratedProperties()
EntityPersisterhasUpdateGeneratedProperties in interface EntityPersisterpublic boolean isVersionPropertyGenerated()
EntityPersisterisVersionPropertyGenerated in interface EntityPersisterpublic boolean isVersionPropertyInsertable()
QueryableisVersionPropertyInsertable in interface Queryablepublic void afterInitialize(Object entity, boolean lazyPropertiesAreUnfetched, SessionImplementor session)
EntityPersisterafterInitialize in interface EntityPersisterpublic String[] getPropertyNames()
EntityPersistergetPropertyNames in interface ClassMetadatagetPropertyNames in interface EntityPersisterpublic Type[] getPropertyTypes()
EntityPersistergetPropertyTypes in interface ClassMetadatagetPropertyTypes in interface EntityPersisterpublic boolean[] getPropertyLaziness()
ClassMetadatagetPropertyLaziness in interface ClassMetadatagetPropertyLaziness in interface EntityPersisterpublic boolean[] getPropertyUpdateability()
EntityPersistergetPropertyUpdateability in interface EntityPersisterpublic boolean[] getPropertyCheckability()
EntityPersistergetPropertyCheckability in interface EntityPersisterpublic boolean[] getNonLazyPropertyUpdateability()
public boolean[] getPropertyInsertability()
EntityPersistergetPropertyInsertability in interface EntityPersister@Deprecated public ValueInclusion[] getPropertyInsertGenerationInclusions()
EntityPersistergetPropertyInsertGenerationInclusions in interface EntityPersister@Deprecated public ValueInclusion[] getPropertyUpdateGenerationInclusions()
EntityPersistergetPropertyUpdateGenerationInclusions in interface EntityPersisterpublic boolean[] getPropertyNullability()
EntityPersistergetPropertyNullability in interface ClassMetadatagetPropertyNullability in interface EntityPersisterpublic boolean[] getPropertyVersionability()
EntityPersistergetPropertyVersionability in interface EntityPersisterpublic CascadeStyle[] getPropertyCascadeStyles()
EntityPersistergetPropertyCascadeStyles in interface EntityPersisterpublic final Class getMappedClass()
EntityPersistergetMappedClass in interface ClassMetadatagetMappedClass in interface EntityPersisterpublic boolean implementsLifecycle()
EntityPersisterLifecycle interface.implementsLifecycle in interface ClassMetadataimplementsLifecycle in interface EntityPersisterpublic Class getConcreteProxyClass()
EntityPersistergetConcreteProxyClass in interface EntityPersisterpublic void setPropertyValues(Object object, Object[] values)
EntityPersistersetPropertyValues in interface ClassMetadatasetPropertyValues in interface EntityPersisterpublic void setPropertyValue(Object object, int i, Object value)
EntityPersistersetPropertyValue in interface EntityPersisterpublic Object[] getPropertyValues(Object object)
EntityPersistergetPropertyValues in interface ClassMetadatagetPropertyValues in interface EntityPersisterobject - The entity from which to extract the property values.public Object getPropertyValue(Object object, int i)
EntityPersistergetPropertyValue in interface EntityPersisterpublic Object getPropertyValue(Object object, String propertyName)
EntityPersistergetPropertyValue in interface ClassMetadatagetPropertyValue in interface EntityPersisterpublic Serializable getIdentifier(Object object)
EntityPersistergetIdentifier in interface ClassMetadatagetIdentifier in interface EntityPersisterpublic Serializable getIdentifier(Object entity, SessionImplementor session)
EntityPersistergetIdentifier in interface ClassMetadatagetIdentifier in interface EntityPersisterentity - The entity for which to get the identifiersession - The session from which the request originatedpublic void setIdentifier(Object entity, Serializable id, SessionImplementor session)
EntityPersistersetIdentifier in interface ClassMetadatasetIdentifier in interface EntityPersisterentity - The entity to inject with the identifier value.id - The value to be injected as the identifier.session - The session from which is requests originatespublic Object getVersion(Object object)
EntityPersistergetVersion in interface ClassMetadatagetVersion in interface EntityPersisterpublic Object instantiate(Serializable id, SessionImplementor session)
EntityPersisterinstantiate in interface ClassMetadatainstantiate in interface EntityPersisterid - The identifier value to use (may be null to represent no value)session - The session from which the request originated.public boolean isInstance(Object object)
EntityPersisterisInstance in interface EntityPersisterpublic boolean hasUninitializedLazyProperties(Object object)
EntityPersisterhasUninitializedLazyProperties in interface EntityPersisterpublic void resetIdentifier(Object entity, Serializable currentId, Object currentVersion, SessionImplementor session)
EntityPersisterresetIdentifier in interface EntityPersisterentity - The entity instancecurrentId - The currently assigned identifier value.currentVersion - The currently assigned version value.session - The session from which the request originated.public EntityPersister getSubclassEntityPersister(Object instance, SessionFactoryImplementor factory)
EntityPersistergetSubclassEntityPersister in interface EntityPersisterinstance - The entity instancefactory - Reference to the SessionFactorypublic boolean isMultiTable()
QueryableisMultiTable in interface Queryablepublic String getTemporaryIdTableName()
QueryablegetTemporaryIdTableName in interface Queryablepublic String getTemporaryIdTableDDL()
QueryablegetTemporaryIdTableDDL in interface Queryableprotected int getPropertySpan()
public Object[] getPropertyValuesToInsert(Object object, Map mergeMap, SessionImplementor session) throws HibernateException
EntityPersistergetPropertyValuesToInsert in interface ClassMetadatagetPropertyValuesToInsert in interface EntityPersisterHibernateExceptionpublic void processInsertGeneratedProperties(Serializable id, Object entity, Object[] state, SessionImplementor session)
EntityPersisterPersistenceContext.
 
 Note, that because we update the PersistenceContext here, callers
 need to take care that they have already written the initial snapshot
 to the PersistenceContext before calling this method.processInsertGeneratedProperties in interface EntityPersisterid - The entity's id value.entity - The entity for which to get the state.session - The sessionpublic void processUpdateGeneratedProperties(Serializable id, Object entity, Object[] state, SessionImplementor session)
EntityPersisterPersistenceContext.
 
 Note, that because we update the PersistenceContext here, callers
 need to take care that they have already written the initial snapshot
 to the PersistenceContext before calling this method.processUpdateGeneratedProperties in interface EntityPersisterid - The entity's id value.entity - The entity for which to get the state.session - The sessionpublic String getIdentifierPropertyName()
EntityPersistergetIdentifierPropertyName in interface ClassMetadatagetIdentifierPropertyName in interface EntityPersisterpublic Type getIdentifierType()
EntityPersistergetIdentifierType in interface ClassMetadatagetIdentifierType in interface EntityPersisterpublic boolean hasSubselectLoadableCollections()
EntityPersisterhasSubselectLoadableCollections in interface EntityPersisterpublic int[] getNaturalIdentifierProperties()
EntityPersisterEntityPersister.hasNaturalIdentifier()), which
 properties make up the natural id.getNaturalIdentifierProperties in interface ClassMetadatagetNaturalIdentifierProperties in interface EntityPersisterpublic Object[] getNaturalIdentifierSnapshot(Serializable id, SessionImplementor session) throws HibernateException
EntityPersistergetNaturalIdentifierSnapshot in interface EntityPersisterid - The identifier of the entity for which to retrieve the natural-id values.session - The session from which the request originated.HibernateExceptionpublic Serializable loadEntityIdByNaturalId(Object[] naturalIdValues, LockOptions lockOptions, SessionImplementor session)
EntityPersisterloadEntityIdByNaturalId in interface EntityPersisterprotected boolean isNaturalIdNonNullable()
protected String concretePropertySelectFragmentSansLeadingComma(String alias, boolean[] include)
public boolean hasNaturalIdentifier()
EntityPersisterhasNaturalIdentifier in interface ClassMetadatahasNaturalIdentifier in interface EntityPersisterpublic void setPropertyValue(Object object, String propertyName, Object value)
ClassMetadatasetPropertyValue in interface ClassMetadatapublic EntityMode getEntityMode()
getEntityMode in interface EntityPersisterpublic EntityTuplizer getEntityTuplizer()
getEntityTuplizer in interface EntityPersisterpublic EntityInstrumentationMetadata getInstrumentationMetadata()
getInstrumentationMetadata in interface EntityPersisterpublic String getTableAliasForColumn(String columnName, String rootAlias)
LoadableJoinedSubclassEntityPersistergetTableAliasForColumn in interface LoadablecolumnName - The column namerootAlias - The hierarchy root aliaspublic int determineTableNumberForColumn(String columnName)
public void generateEntityDefinition()
EntityPersisterEntityPersister.postInstantiate().generateEntityDefinition in interface EntityPersisterpublic EntityPersister getEntityPersister()
getEntityPersister in interface EntityDefinitionpublic EntityIdentifierDefinition getEntityKeyDefinition()
getEntityKeyDefinition in interface EntityDefinitionpublic Iterable<AttributeDefinition> getAttributes()
getAttributes in interface AttributeSourceCopyright © 2001-2015 Red Hat, Inc. All Rights Reserved.