Save This Page
Home » Hibernate-3.3.2.GA » org.hibernate » persister » entity » [javadoc | source]
org.hibernate.persister.entity
abstract public class: AbstractEntityPersister [javadoc | source]
java.lang.Object
   org.hibernate.persister.entity.AbstractEntityPersister

All Implemented Interfaces:
    SQLLoadable, OuterJoinLoadable, UniqueKeyLoadable, ClassMetadata, PostInsertIdentityPersister, Lockable, LazyPropertyInitializer, Queryable

Direct Known Subclasses:
    SingleTableEntityPersister, UnionSubclassEntityPersister, JoinedSubclassEntityPersister

Basic functionality for persisting an entity via JDBC through either generated or custom SQL
Nested Class Summary:
protected static interface  AbstractEntityPersister.InclusionChecker   
Field Summary
public 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     
Constructor:
 public AbstractEntityPersister(PersistentClass persistentClass,
    EntityRegionAccessStrategy cacheAccessStrategy,
    SessionFactoryImplementor factory) throws HibernateException 
Method from org.hibernate.persister.entity.AbstractEntityPersister Summary:
addDiscriminatorToInsert,   addDiscriminatorToSelect,   afterInitialize,   afterReassociate,   canExtractIdOutOfEntity,   check,   concretePropertySelectFragment,   concretePropertySelectFragment,   concretePropertySelectFragment,   concretePropertySelectFragmentSansLeadingComma,   consumesCollectionAlias,   consumesEntityAlias,   countSubclassProperties,   createEntityLoader,   createEntityLoader,   createFrom,   createJoin,   createJoin,   createProxy,   createQueryLoader,   createSelect,   createUniqueKeyLoaders,   createWhereByKey,   dehydrate,   dehydrate,   delete,   delete,   filterFragment,   filterFragment,   findDirty,   findModified,   forceVersionIncrement,   fromJoinFragment,   generateDeleteString,   generateFilterConditionAlias,   generateIdentityInsertString,   generateInsertGeneratedValuesSelectString,   generateInsertString,   generateInsertString,   generateInsertString,   generateLazySelectString,   generateLocker,   generateSelectVersionString,   generateSnapshotSelectString,   generateTableAlias,   generateUpdateGeneratedValuesSelectString,   generateUpdateString,   generateUpdateString,   getCacheAccessStrategy,   getCacheEntryStructure,   getCascadeStyle,   getClassMetadata,   getConcreteProxyClass,   getCurrentVersion,   getDatabaseSnapshot,   getDiscriminatorAlias,   getDiscriminatorAlias,   getDiscriminatorColumnName,   getDiscriminatorFormulaTemplate,   getEntityMetamodel,   getEntityName,   getEntityType,   getFactory,   getFetchMode,   getIdentifier,   getIdentifierAliases,   getIdentifierAliases,   getIdentifierColumnNames,   getIdentifierColumnSpan,   getIdentifierGenerator,   getIdentifierPropertyName,   getIdentifierType,   getIdentitySelectString,   getKeyColumnNames,   getKeyColumns,   getLazyProperties,   getMappedClass,   getMappedSuperclass,   getName,   getNaturalIdentifierProperties,   getNaturalIdentifierSnapshot,   getNonLazyPropertyUpdateability,   getPropertiesToInsert,   getPropertiesToUpdate,   getPropertyAliases,   getPropertyCascadeStyles,   getPropertyCheckability,   getPropertyColumnNames,   getPropertyColumnNames,   getPropertyColumnSpan,   getPropertyIndex,   getPropertyInsertGenerationInclusions,   getPropertyInsertability,   getPropertyLaziness,   getPropertyNames,   getPropertyNullability,   getPropertySpan,   getPropertySubclassNames,   getPropertyTableNumbers,   getPropertyTableNumbersInSelect,   getPropertyType,   getPropertyTypes,   getPropertyUpdateGenerationInclusions,   getPropertyUpdateability,   getPropertyUpdateability,   getPropertyValue,   getPropertyValue,   getPropertyValues,   getPropertyValuesToInsert,   getPropertyVersionability,   getQuerySpaces,   getRootEntityName,   getRootTableAlias,   getRootTableIdentifierColumnNames,   getRootTableKeyColumnNames,   getRootTableName,   getSQLDeleteStrings,   getSQLIdentityInsertString,   getSQLInsertStrings,   getSQLLazySelectString,   getSQLLazyUpdateByRowIdStrings,   getSQLLazyUpdateStrings,   getSQLSnapshotSelectString,   getSQLUpdateByRowIdStrings,   getSQLUpdateStrings,   getSQLWhereString,   getSelectByUniqueKeyString,   getSequentialSelect,   getSubclassColumnAliasClosure,   getSubclassColumnClosure,   getSubclassColumnLazyiness,   getSubclassColumnTableNumberClosure,   getSubclassEntityPersister,   getSubclassFormulaAliasClosure,   getSubclassFormulaClosure,   getSubclassFormulaLazyiness,   getSubclassFormulaTableNumberClosure,   getSubclassFormulaTemplateClosure,   getSubclassPropertyColumnAliases,   getSubclassPropertyColumnNameClosure,   getSubclassPropertyColumnNames,   getSubclassPropertyColumnNames,   getSubclassPropertyDeclarer,   getSubclassPropertyFormulaTemplateClosure,   getSubclassPropertyName,   getSubclassPropertyNameClosure,   getSubclassPropertySubclassNameClosure,   getSubclassPropertyTableNumber,   getSubclassPropertyTableNumber,   getSubclassPropertyType,   getSubclassPropertyTypeClosure,   getSubclassTableKeyColumns,   getSubclassTableName,   getSubclassTableSpan,   getTableName,   getTableSpan,   getTableUpdateNeeded,   getTemporaryIdTableDDL,   getTemporaryIdTableName,   getTuplizer,   getTuplizer,   getType,   getVersion,   getVersionColumnName,   getVersionComparator,   getVersionProperty,   getVersionSelectString,   getVersionType,   getVersionedTableName,   guessEntityMode,   hasCache,   hasCascades,   hasCollections,   hasEmbeddedCompositeIdentifier,   hasFormulaProperties,   hasIdentifierProperty,   hasInsertGeneratedProperties,   hasLazyProperties,   hasMutableProperties,   hasNaturalIdentifier,   hasProxy,   hasRowId,   hasSequentialSelect,   hasSubclasses,   hasSubselectLoadableCollections,   hasUninitializedLazyProperties,   hasUpdateGeneratedProperties,   hasWhere,   hydrate,   identifierSelectFragment,   implementsLifecycle,   implementsValidatable,   initLockers,   initPropertyPaths,   initSubclassPropertyAliasesMap,   initializeLazyProperty,   insert,   insert,   insert,   insert,   instantiate,   isAbstract,   isBatchLoadable,   isBatchable,   isCacheInvalidationRequired,   isClassOrSuperclassTable,   isCollection,   isDefinedOnSubclass,   isDeleteCallable,   isExplicitPolymorphism,   isIdentifierAssignedByInsert,   isInherited,   isInsertCallable,   isInstance,   isInstrumented,   isInverseSubclassTable,   isInverseTable,   isLazyPropertiesCacheable,   isMultiTable,   isMutable,   isNullableSubclassTable,   isNullableTable,   isPolymorphic,   isPropertyOfTable,   isSelectBeforeUpdateRequired,   isSubclassEntityName,   isSubclassPropertyDeferred,   isSubclassPropertyNullable,   isSubclassTableLazy,   isSubclassTableSequentialSelect,   isTableCascadeDeleteEnabled,   isTransient,   isUpdateCallable,   isVersionPropertyGenerated,   isVersionPropertyInsertable,   isVersioned,   load,   loadByUniqueKey,   lock,   logStaticSQL,   oneToManyFilterFragment,   optimisticLockMode,   postConstruct,   postInstantiate,   processInsertGeneratedProperties,   processUpdateGeneratedProperties,   propertySelectFragment,   renderSelect,   resetIdentifier,   selectFragment,   selectFragment,   setIdentifier,   setPropertyValue,   setPropertyValue,   setPropertyValues,   toColumns,   toColumns,   toColumns,   toString,   toType,   update,   update,   updateOrInsert,   useDynamicInsert,   useDynamicUpdate,   useGetGeneratedKeys,   useInsertSelectIdentity,   whereJoinFragment
Methods from java.lang.Object:
clone,   equals,   finalize,   getClass,   hashCode,   notify,   notifyAll,   toString,   wait,   wait,   wait
Method from org.hibernate.persister.entity.AbstractEntityPersister Detail:
 protected  void addDiscriminatorToInsert(Insert insert) 
 protected  void addDiscriminatorToSelect(SelectFragment select,
    String name,
    String suffix) 
 public  void afterInitialize(Object entity,
    boolean lazyPropertiesAreUnfetched,
    SessionImplementor session) 
 public  void afterReassociate(Object entity,
    SessionImplementor session) 
 public boolean canExtractIdOutOfEntity() 
 protected boolean check(int rows,
    Serializable id,
    int tableNumber,
    Expectation expectation,
    PreparedStatement statement) throws HibernateException 
 protected String concretePropertySelectFragment(String alias,
    ValueInclusion[] inclusions) 
 protected String concretePropertySelectFragment(String alias,
    boolean[] includeProperty) 
 protected String concretePropertySelectFragment(String alias,
    InclusionChecker inclusionChecker) 
 protected String concretePropertySelectFragmentSansLeadingComma(String alias,
    boolean[] include) 
 public boolean consumesCollectionAlias() 
 public boolean consumesEntityAlias() 
 public int countSubclassProperties() 
 protected UniqueEntityLoader createEntityLoader(LockMode lockMode) throws MappingException 
 protected UniqueEntityLoader createEntityLoader(LockMode lockMode,
    Map enabledFilters) throws MappingException 
 protected String createFrom(int tableNumber,
    String alias) 
 protected JoinFragment createJoin(int[] tableNumbers,
    String drivingAlias) 
 protected JoinFragment createJoin(String name,
    boolean innerJoin,
    boolean includeSubclasses) 
 public Object createProxy(Serializable id,
    SessionImplementor session) throws HibernateException 
 protected  void createQueryLoader() 
 protected SelectFragment createSelect(int[] subclassColumnNumbers,
    int[] subclassFormulaNumbers) 
 protected  void createUniqueKeyLoaders() throws MappingException 
 protected String createWhereByKey(int tableNumber,
    String alias) 
 protected int dehydrate(Serializable id,
    Object[] fields,
    boolean[] includeProperty,
    boolean[][] includeColumns,
    int j,
    PreparedStatement st,
    SessionImplementor session) throws HibernateException, SQLException 
 protected int dehydrate(Serializable id,
    Object[] fields,
    Object rowId,
    boolean[] includeProperty,
    boolean[][] includeColumns,
    int j,
    PreparedStatement ps,
    SessionImplementor session,
    int index) throws SQLException, HibernateException 
    Marshall the fields of a persistent instance to a prepared statement
 public  void delete(Serializable id,
    Object version,
    Object object,
    SessionImplementor session) throws HibernateException 
    Delete an object
 protected  void delete(Serializable id,
    Object version,
    int j,
    Object object,
    String sql,
    SessionImplementor session,
    Object[] loadedState) throws HibernateException 
    Perform an SQL DELETE
 abstract protected String filterFragment(String alias) throws MappingException
 public String filterFragment(String alias,
    Map enabledFilters) throws MappingException 
 public int[] findDirty(Object[] currentState,
    Object[] previousState,
    Object entity,
    SessionImplementor session) throws HibernateException 
    Locate the property-indices of all properties considered to be dirty.
 public int[] findModified(Object[] old,
    Object[] current,
    Object entity,
    SessionImplementor session) throws HibernateException 
    Locate the property-indices of all properties considered to be dirty.
 public Object forceVersionIncrement(Serializable id,
    Object currentVersion,
    SessionImplementor session) 
 public String fromJoinFragment(String alias,
    boolean innerJoin,
    boolean includeSubclasses) 
 protected String generateDeleteString(int j) 
    Generate the SQL that deletes a row by id (and version)
 public String generateFilterConditionAlias(String rootAlias) 
 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() 
 protected 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)
 public EntityRegionAccessStrategy getCacheAccessStrategy() 
 public CacheEntryStructure getCacheEntryStructure() 
 public CascadeStyle getCascadeStyle(int i) 
 public ClassMetadata getClassMetadata() 
 public Class getConcreteProxyClass(EntityMode entityMode) 
 public Object getCurrentVersion(Serializable id,
    SessionImplementor session) throws HibernateException 
    Retrieve the version number
 public Object[] getDatabaseSnapshot(Serializable id,
    SessionImplementor session) throws HibernateException 
 protected String getDiscriminatorAlias() 
 public String getDiscriminatorAlias(String suffix) 
 public String getDiscriminatorColumnName() 
 protected String getDiscriminatorFormulaTemplate() 
 public EntityMetamodel getEntityMetamodel() 
 public final String getEntityName() 
 public EntityType getEntityType() 
 public SessionFactoryImplementor getFactory() 
 public FetchMode getFetchMode(int i) 
 public Serializable getIdentifier(Object object,
    EntityMode entityMode) throws HibernateException 
 protected String[] getIdentifierAliases() 
 public String[] getIdentifierAliases(String suffix) 
 public String[] getIdentifierColumnNames() 
 protected int getIdentifierColumnSpan() 
 public IdentifierGenerator getIdentifierGenerator() throws HibernateException 
 public String getIdentifierPropertyName() 
 public Type getIdentifierType() 
 public String getIdentitySelectString() 
 public String[] getKeyColumnNames() 
 abstract protected String[] getKeyColumns(int j)
 protected Set getLazyProperties() 
 public final Class getMappedClass(EntityMode entityMode) 
 public String getMappedSuperclass() 
 public String getName() 
 public int[] getNaturalIdentifierProperties() 
 public Object[] getNaturalIdentifierSnapshot(Serializable id,
    SessionImplementor session) throws HibernateException 
 public 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 final boolean[] getPropertiesToUpdate(int[] dirtyProperties,
    boolean hasDirtyCollection) 
    Transform the array of property indexes to an array of booleans, true when the property is dirty
 public String[] getPropertyAliases(String suffix,
    int i) 
 public CascadeStyle[] getPropertyCascadeStyles() 
 public boolean[] getPropertyCheckability() 
 public String[] getPropertyColumnNames(String propertyName) 
 public String[] getPropertyColumnNames(int i) 
 protected int getPropertyColumnSpan(int i) 
 public int getPropertyIndex(String propertyName) 
 public ValueInclusion[] getPropertyInsertGenerationInclusions() 
 public boolean[] getPropertyInsertability() 
 public boolean[] getPropertyLaziness() 
 public String[] getPropertyNames() 
 public boolean[] getPropertyNullability() 
 protected int getPropertySpan() 
 protected String[] getPropertySubclassNames() 
 abstract protected int[] getPropertyTableNumbers()
 abstract protected int[] getPropertyTableNumbersInSelect()
 public Type getPropertyType(String propertyName) throws MappingException 
 public Type[] getPropertyTypes() 
 public ValueInclusion[] getPropertyUpdateGenerationInclusions() 
 public boolean[] getPropertyUpdateability() 
 protected boolean[] getPropertyUpdateability(Object entity,
    EntityMode entityMode) 
    Which properties appear in the SQL update? (Initialized, updateable ones!)
 public Object getPropertyValue(Object object,
    int i,
    EntityMode entityMode) throws HibernateException 
 public Object getPropertyValue(Object object,
    String propertyName,
    EntityMode entityMode) throws HibernateException 
 public Object[] getPropertyValues(Object object,
    EntityMode entityMode) throws HibernateException 
 public Object[] getPropertyValuesToInsert(Object object,
    Map mergeMap,
    SessionImplementor session) throws HibernateException 
 public boolean[] getPropertyVersionability() 
 public Serializable[] getQuerySpaces() 
 public String getRootEntityName() 
 public String getRootTableAlias(String drivingAlias) 
 public String[] getRootTableIdentifierColumnNames() 
 public String[] getRootTableKeyColumnNames() 
 public String getRootTableName() 
 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) 
 public String getSelectByUniqueKeyString(String propertyName) 
 protected String getSequentialSelect(String entityName) 
 protected String[] getSubclassColumnAliasClosure() 
 protected String[] getSubclassColumnClosure() 
 protected boolean[] getSubclassColumnLazyiness() 
 abstract protected int[] getSubclassColumnTableNumberClosure()
 public EntityPersister getSubclassEntityPersister(Object instance,
    SessionFactoryImplementor factory,
    EntityMode entityMode) 
 protected String[] getSubclassFormulaAliasClosure() 
 protected String[] getSubclassFormulaClosure() 
 protected boolean[] getSubclassFormulaLazyiness() 
 abstract protected int[] getSubclassFormulaTableNumberClosure()
 protected String[] getSubclassFormulaTemplateClosure() 
 public String[] getSubclassPropertyColumnAliases(String propertyName,
    String suffix) 
 protected String[][] getSubclassPropertyColumnNameClosure() 
 public String[] getSubclassPropertyColumnNames(int i) 
 public String[] getSubclassPropertyColumnNames(String propertyName) 
 public Declarer getSubclassPropertyDeclarer(String propertyPath) 
 protected String[][] getSubclassPropertyFormulaTemplateClosure() 
 public String getSubclassPropertyName(int i) 
 protected String[] getSubclassPropertyNameClosure() 
 protected String[] getSubclassPropertySubclassNameClosure() 
 abstract protected int getSubclassPropertyTableNumber(int i)
 public 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.
 public Type getSubclassPropertyType(int i) 
 protected Type[] getSubclassPropertyTypeClosure() 
 abstract protected String[] getSubclassTableKeyColumns(int j)
 abstract public String getSubclassTableName(int j)
 abstract protected int getSubclassTableSpan()
 abstract protected String getTableName(int j)
 abstract protected int getTableSpan()
 protected boolean[] getTableUpdateNeeded(int[] dirtyProperties,
    boolean hasDirtyCollection) 
    Decide which tables need to be updated.

    The return here is an array of boolean values with each index corresponding to a given table in the scope of this persister.

 public String getTemporaryIdTableDDL() 
 public String getTemporaryIdTableName() 
 protected EntityTuplizer getTuplizer(SessionImplementor session) 
 protected EntityTuplizer getTuplizer(EntityMode entityMode) 
 public Type getType() 
 public Object getVersion(Object object,
    EntityMode entityMode) throws HibernateException 
 public String getVersionColumnName() 
 public Comparator getVersionComparator() 
 public int getVersionProperty() 
 protected String getVersionSelectString() 
 public VersionType getVersionType() 
 protected String getVersionedTableName() 
 public EntityMode guessEntityMode(Object object) 
 public boolean hasCache() 
 public boolean hasCascades() 
 public boolean hasCollections() 
 protected boolean hasEmbeddedCompositeIdentifier() 
 protected boolean hasFormulaProperties() 
 public boolean hasIdentifierProperty() 
 public boolean hasInsertGeneratedProperties() 
 public boolean hasLazyProperties() 
 public boolean hasMutableProperties() 
 public boolean hasNaturalIdentifier() 
 public boolean hasProxy() 
 public boolean hasRowId() 
 public boolean hasSequentialSelect() 
 public boolean hasSubclasses() 
 public boolean hasSubselectLoadableCollections() 
 public boolean hasUninitializedLazyProperties(Object object,
    EntityMode entityMode) 
 public boolean hasUpdateGeneratedProperties() 
 protected boolean hasWhere() 
 public Object[] hydrate(ResultSet rs,
    Serializable id,
    Object object,
    Loadable rootLoadable,
    String[][] suffixedPropertyColumns,
    boolean allProperties,
    SessionImplementor session) throws SQLException, HibernateException 
    Unmarshall the fields of a persistent instance from a result set, without resolving associations or collections. Question: should this really be here, or should it be sent back to Loader?
 public String identifierSelectFragment(String name,
    String suffix) 
 public boolean implementsLifecycle(EntityMode entityMode) 
 public boolean implementsValidatable(EntityMode entityMode) 
 protected  void initLockers() 
 protected  void initPropertyPaths(Mapping mapping) throws MappingException 
 protected  void initSubclassPropertyAliasesMap(PersistentClass model) throws MappingException 
    Must be called by subclasses, at the end of their constructors
 public Object initializeLazyProperty(String fieldName,
    Object entity,
    SessionImplementor session) throws HibernateException 
 public Serializable insert(Object[] fields,
    Object object,
    SessionImplementor session) throws HibernateException 
 public  void insert(Serializable id,
    Object[] fields,
    Object object,
    SessionImplementor session) throws HibernateException 
 protected Serializable insert(Object[] fields,
    boolean[] notNull,
    String sql,
    Object object,
    SessionImplementor session) throws HibernateException 
    Perform an SQL INSERT, and then retrieve a generated identifier.

    This form is used for PostInsertIdentifierGenerator-style ids (IDENTITY, select, etc).

 protected  void insert(Serializable id,
    Object[] fields,
    boolean[] notNull,
    int j,
    String sql,
    Object object,
    SessionImplementor session) throws HibernateException 
    Perform an SQL INSERT.

    This for is used for all non-root tables as well as the root table in cases where the identifier value is known before the insert occurs.

 public Object instantiate(Serializable id,
    EntityMode entityMode) throws HibernateException 
 public boolean isAbstract() 
 public boolean isBatchLoadable() 
 public boolean isBatchable() 
 public 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. This can happen if (a) the item is not versioned and either (b) we have dynamic update enabled or (c) we have multiple tables holding the state of the item.
 abstract protected boolean isClassOrSuperclassTable(int j)
 public boolean isCollection() 
 public boolean isDefinedOnSubclass(int i) 
 protected boolean isDeleteCallable(int j) 
 public boolean isExplicitPolymorphism() 
 public boolean isIdentifierAssignedByInsert() 
 public boolean isInherited() 
 protected boolean isInsertCallable(int j) 
 public boolean isInstance(Object object,
    EntityMode entityMode) 
 public boolean isInstrumented(EntityMode entityMode) 
 protected boolean isInverseSubclassTable(int j) 
 protected boolean isInverseTable(int j) 
 public boolean isLazyPropertiesCacheable() 
 public boolean isMultiTable() 
 public boolean isMutable() 
 protected boolean isNullableSubclassTable(int j) 
 protected boolean isNullableTable(int j) 
 public boolean isPolymorphic() 
 abstract protected boolean isPropertyOfTable(int property,
    int j)
 public boolean isSelectBeforeUpdateRequired() 
 public boolean isSubclassEntityName(String entityName) 
 protected boolean isSubclassPropertyDeferred(String propertyName,
    String entityName) 
 public boolean isSubclassPropertyNullable(int i) 
 protected boolean isSubclassTableLazy(int j) 
 protected boolean isSubclassTableSequentialSelect(int j) 
 abstract protected boolean isTableCascadeDeleteEnabled(int j)
 public Boolean isTransient(Object entity,
    SessionImplementor session) throws HibernateException 
 protected boolean isUpdateCallable(int j) 
 public boolean isVersionPropertyGenerated() 
 public boolean isVersionPropertyInsertable() 
 public boolean isVersioned() 
 public Object load(Serializable id,
    Object optionalObject,
    LockMode lockMode,
    SessionImplementor session) throws HibernateException 
    Load an instance using either the forUpdateLoader or the outer joining loader, depending upon the value of the lock parameter
 public Object loadByUniqueKey(String propertyName,
    Object uniqueKey,
    SessionImplementor session) throws HibernateException 
 public  void lock(Serializable id,
    Object version,
    Object object,
    LockMode lockMode,
    SessionImplementor session) throws HibernateException 
 protected  void logStaticSQL() 
 public String oneToManyFilterFragment(String alias) throws MappingException 
 protected final int optimisticLockMode() 
 protected  void postConstruct(Mapping mapping) throws MappingException 
 public  void postInstantiate() throws MappingException 
 public  void processInsertGeneratedProperties(Serializable id,
    Object entity,
    Object[] state,
    SessionImplementor session) 
 public  void processUpdateGeneratedProperties(Serializable id,
    Object entity,
    Object[] state,
    SessionImplementor session) 
 public String propertySelectFragment(String name,
    String suffix,
    boolean allProperties) 
 protected String renderSelect(int[] tableNumbers,
    int[] columnNumbers,
    int[] formulaNumbers) 
 public  void resetIdentifier(Object entity,
    Serializable currentId,
    Object currentVersion,
    EntityMode entityMode) 
 public String selectFragment(String alias,
    String suffix) 
 public final String selectFragment(Joinable rhs,
    String rhsAlias,
    String lhsAlias,
    String entitySuffix,
    String collectionSuffix,
    boolean includeCollectionColumns) 
 public  void setIdentifier(Object object,
    Serializable id,
    EntityMode entityMode) throws HibernateException 
 public  void setPropertyValue(Object object,
    int i,
    Object value,
    EntityMode entityMode) throws HibernateException 
 public  void setPropertyValue(Object object,
    String propertyName,
    Object value,
    EntityMode entityMode) throws HibernateException 
 public  void setPropertyValues(Object object,
    Object[] values,
    EntityMode entityMode) throws HibernateException 
 public String[] toColumns(String propertyName) throws QueryException 
 public String[] toColumns(String alias,
    String propertyName) throws QueryException 
 public String[] toColumns(String name,
    int i) 
 public String toString() 
 public Type toType(String propertyName) throws QueryException 
 public  void update(Serializable id,
    Object[] fields,
    int[] dirtyFields,
    boolean hasDirtyCollection,
    Object[] oldFields,
    Object oldVersion,
    Object object,
    Object rowId,
    SessionImplementor session) throws HibernateException 
    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) throws HibernateException 
 protected  void updateOrInsert(Serializable id,
    Object[] fields,
    Object[] oldFields,
    Object rowId,
    boolean[] includeProperty,
    int j,
    Object oldVersion,
    Object object,
    String sql,
    SessionImplementor session) throws HibernateException 
    Perform an SQL UPDATE or SQL INSERT
 protected boolean useDynamicInsert() 
 protected boolean useDynamicUpdate() 
 protected boolean useGetGeneratedKeys() 
 protected boolean useInsertSelectIdentity() 
 public String whereJoinFragment(String alias,
    boolean innerJoin,
    boolean includeSubclasses)