public class

SingleTableEntityPersister

extends AbstractEntityPersister
java.lang.Object
   ↳ org.hibernate.persister.entity.AbstractEntityPersister
     ↳ org.hibernate.persister.entity.SingleTableEntityPersister

Class Overview

The default implementation of the EntityPersister interface. Implements the "table-per-class-hierarchy" or "roll-up" mapping strategy for an entity class and its inheritence hierarchy. This is implemented as a single table holding all classes in the hierarchy with a discrimator column used to determine which concrete class is referenced.

Summary

[Expand]
Inherited Constants
From class org.hibernate.persister.entity.AbstractEntityPersister
From interface org.hibernate.persister.entity.EntityPersister
From interface org.hibernate.persister.entity.Loadable
[Expand]
Inherited Fields
From class org.hibernate.persister.entity.AbstractEntityPersister
From interface org.hibernate.intercept.LazyPropertyInitializer
Public Constructors
SingleTableEntityPersister(PersistentClass persistentClass, EntityRegionAccessStrategy cacheAccessStrategy, SessionFactoryImplementor factory, Mapping mapping)
Public Methods
String filterFragment(String alias)
String fromTableFragment(String name)
String[] getConstraintOrderedTableNameClosure()
String[][] getContraintOrderedTableKeyColumnClosure()
String getDiscriminatorColumnName()
String getDiscriminatorColumnReaderTemplate()
String getDiscriminatorColumnReaders()
String getDiscriminatorSQLValue()
Type getDiscriminatorType()
Serializable[] getPropertySpaces()
String getPropertyTableName(String propertyName)
String[] getSubclassClosure()
String getSubclassForDiscriminatorValue(Object value)
String getSubclassPropertyTableName(int i)
String getSubclassTableName(int j)
Get the name of the table with the given index from the internal array.
int getSubclassTableSpan()
String getTableName()
int getTableSpan()
boolean hasSequentialSelect()
boolean isMultiTable()
Is the inheritence hierarchy described by this persister contained across multiple tables?
String oneToManyFilterFragment(String alias)
void postInstantiate()
Finish the initialization of this object.
Protected Methods
void addDiscriminatorToInsert(Insert insert)
void addDiscriminatorToSelect(SelectFragment select, String name, String suffix)
String getDiscriminatorAlias()
String getDiscriminatorFormula()
String getDiscriminatorFormulaTemplate()
String[] getKeyColumns(int j)
int[] getPropertyTableNumbers()
int[] getPropertyTableNumbersInSelect()
String getSequentialSelect(String entityName)
int[] getSubclassColumnTableNumberClosure()
int[] getSubclassFormulaTableNumberClosure()
int getSubclassPropertyTableNumber(int i)
String[] getSubclassTableKeyColumns(int j)
String getTableName(int j)
boolean isClassOrSuperclassTable(int j)
boolean isDiscriminatorFormula()
boolean isInverseSubclassTable(int j)
boolean isInverseTable(int j)
boolean isNullableSubclassTable(int j)
boolean isNullableTable(int j)
boolean isPropertyOfTable(int property, int j)
boolean isSubclassPropertyDeferred(String propertyName, String entityName)
boolean isSubclassTableLazy(int j)
boolean isSubclassTableSequentialSelect(int j)
boolean isTableCascadeDeleteEnabled(int j)
[Expand]
Inherited Methods
From class org.hibernate.persister.entity.AbstractEntityPersister
From class java.lang.Object
From interface org.hibernate.cache.OptimisticCacheSource
From interface org.hibernate.id.PostInsertIdentityPersister
From interface org.hibernate.intercept.LazyPropertyInitializer
From interface org.hibernate.metadata.ClassMetadata
From interface org.hibernate.persister.entity.EntityPersister
From interface org.hibernate.persister.entity.Joinable
From interface org.hibernate.persister.entity.Loadable
From interface org.hibernate.persister.entity.Lockable
From interface org.hibernate.persister.entity.OuterJoinLoadable
From interface org.hibernate.persister.entity.PropertyMapping
From interface org.hibernate.persister.entity.Queryable
From interface org.hibernate.persister.entity.SQLLoadable
From interface org.hibernate.persister.entity.UniqueKeyLoadable

Public Constructors

public SingleTableEntityPersister (PersistentClass persistentClass, EntityRegionAccessStrategy cacheAccessStrategy, SessionFactoryImplementor factory, Mapping mapping)

Public Methods

public String filterFragment (String alias)

public String fromTableFragment (String name)

public String[] getConstraintOrderedTableNameClosure ()

public String[][] getContraintOrderedTableKeyColumnClosure ()

public String getDiscriminatorColumnName ()

public String getDiscriminatorColumnReaderTemplate ()

public String getDiscriminatorColumnReaders ()

public String getDiscriminatorSQLValue ()

public Type getDiscriminatorType ()

public Serializable[] getPropertySpaces ()

public String getPropertyTableName (String propertyName)

public String[] getSubclassClosure ()

public String getSubclassForDiscriminatorValue (Object value)

public String getSubclassPropertyTableName (int i)

public String getSubclassTableName (int j)

Get the name of the table with the given index from the internal array.

Parameters
j The index into the internal array.

public int getSubclassTableSpan ()

public String getTableName ()

public int getTableSpan ()

public boolean hasSequentialSelect ()

public boolean isMultiTable ()

Is the inheritence hierarchy described by this persister contained across multiple tables?

Returns
  • True if the inheritence hierarchy is spread across multiple tables; false otherwise.

public String oneToManyFilterFragment (String alias)

public void postInstantiate ()

Finish the initialization of this object.

Called only once per SessionFactory lifecycle, after all entity persisters have been instantiated.

Protected Methods

protected void addDiscriminatorToInsert (Insert insert)

protected void addDiscriminatorToSelect (SelectFragment select, String name, String suffix)

protected String getDiscriminatorAlias ()

protected String getDiscriminatorFormula ()

protected String getDiscriminatorFormulaTemplate ()

protected String[] getKeyColumns (int j)

protected int[] getPropertyTableNumbers ()

protected int[] getPropertyTableNumbersInSelect ()

protected String getSequentialSelect (String entityName)

protected int[] getSubclassColumnTableNumberClosure ()

protected int[] getSubclassFormulaTableNumberClosure ()

protected int getSubclassPropertyTableNumber (int i)

protected String[] getSubclassTableKeyColumns (int j)

protected String getTableName (int j)

protected boolean isClassOrSuperclassTable (int j)

protected boolean isDiscriminatorFormula ()

protected boolean isInverseSubclassTable (int j)

protected boolean isInverseTable (int j)

protected boolean isNullableSubclassTable (int j)

protected boolean isNullableTable (int j)

protected boolean isPropertyOfTable (int property, int j)

protected boolean isSubclassPropertyDeferred (String propertyName, String entityName)

protected boolean isSubclassTableLazy (int j)

protected boolean isSubclassTableSequentialSelect (int j)

protected boolean isTableCascadeDeleteEnabled (int j)