Prev Class | Next Class | Frames | No Frames |
Summary: Nested | Field | Method | Constr | Detail: Nested | Field | Method | Constr |
java.lang.Object
org.hibernate.persister.entity.AbstractEntityPersister
org.hibernate.persister.entity.UnionSubclassEntityPersister
public class UnionSubclassEntityPersister
extends AbstractEntityPersister
Nested Class Summary |
Nested classes/interfaces inherited from class org.hibernate.persister.entity.AbstractEntityPersister | |
AbstractEntityPersister.InclusionChecker |
Field Summary |
Fields inherited from class org.hibernate.persister.entity.AbstractEntityPersister | |
ENTITY_CLASS , customSQLDelete , customSQLInsert , customSQLUpdate , deleteCallable , deleteResultCheckStyles , insertCallable , insertResultCheckStyles , propertyMapping , rowIdName , updateCallable , updateResultCheckStyles |
Fields inherited from interface org.hibernate.persister.entity.EntityPersister | |
ENTITY_ID |
Fields inherited from interface org.hibernate.intercept.LazyPropertyInitializer | |
UNFETCHED_PROPERTY |
Fields inherited from interface org.hibernate.persister.entity.Loadable | |
ROWID_ALIAS |
Constructor Summary | |
|
Method Summary | |
protected void |
|
String |
|
String |
|
protected String |
|
protected String |
|
String[] |
|
String[][] |
|
protected String | |
String |
|
Type | |
protected String[] |
|
Serializable[] |
|
String |
|
protected int[] | |
protected int[] | |
Serializable[] |
|
String[] | |
protected int[] | |
String |
|
protected int[] | |
String |
|
int |
|
protected int | |
protected String[] |
|
String |
|
int | |
protected boolean[] | |
String |
|
protected String |
|
int | |
protected boolean |
|
protected boolean | |
boolean |
|
protected boolean |
|
protected boolean |
|
public UnionSubclassEntityPersister(PersistentClass persistentClass, EntityRegionAccessStrategy cacheAccessStrategy, SessionFactoryImplementor factory, Mapping mapping) throws HibernateException
protected void addDiscriminatorToSelect(SelectFragment select, String name, String suffix)
- Overrides:
- addDiscriminatorToSelect in interface AbstractEntityPersister
public String filterFragment(String name)
- Overrides:
- filterFragment in interface AbstractEntityPersister
public String fromTableFragment(String name)
- Specified by:
- fromTableFragment in interface OuterJoinLoadable
protected String generateSelectString(LockMode lockMode)
Generate the SQL that selects a row by id
public String[] getConstraintOrderedTableNameClosure()
Get the names of all tables used in the hierarchy (up and down) ordered such that deletes in the given order would not cause contraint violations.
- Specified by:
- getConstraintOrderedTableNameClosure in interface Queryable
- Returns:
- The ordered array of table names.
public String[][] getContraintOrderedTableKeyColumnClosure()
For each table specified inQueryable.getConstraintOrderedTableNameClosure()
, get the columns that define the key between the various hierarchy classes. The first dimension here corresponds to the table indexes returned inQueryable.getConstraintOrderedTableNameClosure()
. The second dimension should have the same length across all the elements in the first dimension. If not, that'd be a problem ;)
- Specified by:
- getContraintOrderedTableKeyColumnClosure in interface Queryable
- Returns:
protected String getDiscriminatorFormula()
public String getDiscriminatorSQLValue()
Get the discriminator value for this particular concrete subclass, as a string that may be embedded in a select statement
- Specified by:
- getDiscriminatorSQLValue in interface Queryable
public Type getDiscriminatorType()
- Specified by:
- getDiscriminatorType in interface Loadable
protected String[] getKeyColumns(int j)
- Overrides:
- getKeyColumns in interface AbstractEntityPersister
public Serializable[] getPropertySpaces()
Returns an array of objects that identify spaces in which properties of this entity are persisted, for instances of this class only. For most implementations, this returns the complete set of table names to which instances of the mapped entity are persisted (not accounting for superclass entity mappings).
- Specified by:
- getPropertySpaces in interface EntityPersister
- Returns:
- The property spaces.
public String getPropertyTableName(String propertyName)
- Specified by:
- getPropertyTableName in interface OuterJoinLoadable
protected int[] getPropertyTableNumbers()
- Overrides:
- getPropertyTableNumbers in interface AbstractEntityPersister
protected int[] getPropertyTableNumbersInSelect()
- Overrides:
- getPropertyTableNumbersInSelect in interface AbstractEntityPersister
public 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. Much likeEntityPersister.getPropertySpaces()
, except that here we include subclass entity spaces.
- Specified by:
- getQuerySpaces in interface EntityPersister
- Overrides:
- getQuerySpaces in interface AbstractEntityPersister
- Returns:
- The query spaces.
public String[] getSubclassClosure()
protected int[] getSubclassColumnTableNumberClosure()
- Overrides:
- getSubclassColumnTableNumberClosure in interface AbstractEntityPersister
public String getSubclassForDiscriminatorValue(Object value)
- Specified by:
- getSubclassForDiscriminatorValue in interface Loadable
protected int[] getSubclassFormulaTableNumberClosure()
- Overrides:
- getSubclassFormulaTableNumberClosure in interface AbstractEntityPersister
public String getSubclassPropertyTableName(int i)
- Specified by:
- getSubclassPropertyTableName in interface OuterJoinLoadable
public int getSubclassPropertyTableNumber(String propertyName)
Given a property name, determine the number of the table which contains the column to which this property is mapped. Note that this is not relative to the results fromQueryable.getConstraintOrderedTableNameClosure()
. It is relative to the subclass table name closure maintained internal to the persister (yick!). It is also relative to the indexing used to resolveQueryable.getSubclassTableName(int)
...
- Specified by:
- getSubclassPropertyTableNumber in interface Queryable
- Overrides:
- getSubclassPropertyTableNumber in interface AbstractEntityPersister
- Parameters:
- Returns:
- The nunber of the table to which the property is mapped.
protected int getSubclassPropertyTableNumber(int i)
- Overrides:
- getSubclassPropertyTableNumber in interface AbstractEntityPersister
protected String[] getSubclassTableKeyColumns(int j)
- Overrides:
- getSubclassTableKeyColumns in interface AbstractEntityPersister
public String getSubclassTableName(int j)
Get the name of the table with the given index from the internal array.
- Specified by:
- getSubclassTableName in interface Queryable
- Overrides:
- getSubclassTableName in interface AbstractEntityPersister
- Parameters:
- Returns:
public int getSubclassTableSpan()
- Overrides:
- getSubclassTableSpan in interface AbstractEntityPersister
protected boolean[] getTableHasColumns()
public String getTableName()
The table to join to.
- Specified by:
- getTableName in interface Joinable
protected String getTableName(int j)
- Overrides:
- getTableName in interface AbstractEntityPersister
protected boolean isClassOrSuperclassTable(int j)
- Overrides:
- isClassOrSuperclassTable in interface AbstractEntityPersister
protected boolean isDiscriminatorFormula()
public boolean isMultiTable()
Is the inheritence hierarchy described by this persister contained across multiple tables?
- Specified by:
- isMultiTable in interface Queryable
- Overrides:
- isMultiTable in interface AbstractEntityPersister
- Returns:
- True if the inheritence hierarchy is spread across multiple tables; false otherwise.
protected boolean isPropertyOfTable(int property, int j)
- Overrides:
- isPropertyOfTable in interface AbstractEntityPersister
protected boolean isTableCascadeDeleteEnabled(int j)
- Overrides:
- isTableCascadeDeleteEnabled in interface AbstractEntityPersister