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.JoinedSubclassEntityPersister
public class JoinedSubclassEntityPersister
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 | |
void |
|
String |
|
String |
|
String |
|
String[] |
|
String[][] |
|
String |
|
Type | |
String[] |
|
protected String[] |
|
Serializable[] |
|
String |
|
protected int[] | |
protected int[] | |
String |
|
String |
|
protected int[] | |
String |
|
protected int[] | |
Declarer |
|
String |
|
protected int | |
protected String[] |
|
String |
|
int | |
String |
|
protected String |
|
int | |
protected boolean |
|
boolean |
|
protected boolean |
|
protected boolean |
|
String[] |
|
public JoinedSubclassEntityPersister(PersistentClass persistentClass, EntityRegionAccessStrategy cacheAccessStrategy, SessionFactoryImplementor factory, Mapping mapping) throws HibernateException
public void addDiscriminatorToSelect(SelectFragment select, String name, String suffix)
- Overrides:
- addDiscriminatorToSelect in interface AbstractEntityPersister
public String filterFragment(String alias)
- Overrides:
- filterFragment in interface AbstractEntityPersister
public String fromTableFragment(String alias)
Get the main from table fragment, given a query alias.
- Specified by:
- fromTableFragment in interface OuterJoinLoadable
public String generateFilterConditionAlias(String rootAlias)
The alias used for any filter conditions (mapped where-fragments or enabled-filters). This may or may not be different from the root alias depending upon the inheritence mapping strategy.
- Specified by:
- generateFilterConditionAlias in interface Queryable
- Overrides:
- generateFilterConditionAlias in interface AbstractEntityPersister
- Parameters:
rootAlias
- The root alias
- Returns:
- The alias used for "filter conditions" within the where clause.
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:
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
public String[] getIdentifierColumnNames()
Get the names of columns used to persist the identifier
- Specified by:
- getIdentifierColumnNames in interface Loadable
- getIdentifierColumnNames in interface Queryable
- Overrides:
- getIdentifierColumnNames in interface AbstractEntityPersister
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)
Get the table name for the given property path
- Specified by:
- getPropertyTableName in interface OuterJoinLoadable
protected int[] getPropertyTableNumbers()
- Overrides:
- getPropertyTableNumbers in interface AbstractEntityPersister
protected int[] getPropertyTableNumbersInSelect()
- Overrides:
- getPropertyTableNumbersInSelect in interface AbstractEntityPersister
public String getRootTableAlias(String drivingAlias)
Get the SQL alias this persister would use for the root table given the passed driving alias.
- Specified by:
- getRootTableAlias in interface Lockable
- Overrides:
- getRootTableAlias in interface AbstractEntityPersister
- Parameters:
drivingAlias
- The driving alias; or the alias for the table mapped by this persister in the hierarchy.
- Returns:
- The root table alias.
public String getRootTableName()
Locks are always applied to the "root table".
- Specified by:
- getRootTableName in interface Lockable
- Overrides:
- getRootTableName in interface AbstractEntityPersister
- Returns:
- The root table name
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 Declarer getSubclassPropertyDeclarer(String propertyPath)
Determine whether the given property is declared by our mapped class, our super class, or one of our subclasses... Note: the method is called 'subclass property...' simply for consistency sake (e.g.Queryable.getSubclassPropertyTableNumber(String)
- Specified by:
- getSubclassPropertyDeclarer in interface Queryable
- Overrides:
- getSubclassPropertyDeclarer in interface AbstractEntityPersister
- Parameters:
propertyPath
- The property name.
- Returns:
- The property declarer
public String getSubclassPropertyTableName(int i)
Return the table name used to persist the numbered property of the class or a subclass.
- Specified by:
- getSubclassPropertyTableName in interface OuterJoinLoadable
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
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
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
public String[] toColumns(String alias, String propertyName) throws QueryException
Given a query alias and a property path, return the qualified column name
- Specified by:
- toColumns in interface PropertyMapping
- Overrides:
- toColumns in interface AbstractEntityPersister