FileDocCategorySizeDatePackage
Queryable.javaAPI DocHibernate 3.2.55046Thu Nov 16 12:33:20 GMT 2006org.hibernate.persister.entity

Queryable

public interface Queryable implements Loadable, Joinable, PropertyMapping
Extends the generic EntityPersister contract to add operations required by the Hibernate Query Language
author
Gavin King

Fields Summary
Constructors Summary
Methods Summary
public java.lang.StringgenerateFilterConditionAlias(java.lang.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.

param
rootAlias The root alias
return
The alias used for "filter conditions" within the where clause.

public java.lang.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.

return
The ordered array of table names.

public java.lang.String[][]getContraintOrderedTableKeyColumnClosure()
For each table specified in {@link #getConstraintOrderedTableNameClosure()}, get the columns that define the key between the various hierarchy classes.

The first dimension here corresponds to the table indexes returned in {@link #getConstraintOrderedTableNameClosure()}.

The second dimension should have the same length across all the elements in the first dimension. If not, that'd be a problem ;)

return

public java.lang.StringgetDiscriminatorSQLValue()
Get the discriminator value for this particular concrete subclass, as a string that may be embedded in a select statement

public java.lang.String[]getIdentifierColumnNames()
Get the names of columns used to persist the identifier

public java.lang.StringgetMappedSuperclass()
Get the class that this class is mapped as a subclass of - not necessarily the direct superclass

public org.hibernate.persister.entity.Queryable$DeclarergetSubclassPropertyDeclarer(java.lang.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. {@link #getSubclassPropertyTableNumber}

param
propertyPath The property name.
return
The property declarer

public intgetSubclassPropertyTableNumber(java.lang.String propertyPath)
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 from {@link #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 resolve {@link #getSubclassTableName}...

param
propertyPath The name of the property.
return
The nunber of the table to which the property is mapped.

public java.lang.StringgetSubclassTableName(int number)
Get the name of the table with the given index from the internal array.

param
number The index into the internal array.
return

public java.lang.StringgetTemporaryIdTableDDL()
Get the appropriate DDL command for generating the temporary table to be used to (potentially) store id values when performing bulk update/deletes.

return
The appropriate temporary table creation command.

public java.lang.StringgetTemporaryIdTableName()
Get the name of the temporary table to be used to (potentially) store id values when performing bulk update/deletes.

return
The appropriate temporary table name.

public java.lang.StringidentifierSelectFragment(java.lang.String name, java.lang.String suffix)
Given a query alias and an identifying suffix, render the intentifier select fragment.

public booleanisAbstract()
Is this an abstract class?

public booleanisExplicitPolymorphism()
Is this class explicit polymorphism only?

public booleanisMultiTable()
Is the inheritence hierarchy described by this persister contained across multiple tables?

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

public booleanisVersionPropertyInsertable()
Is the version property included in insert statements?

public java.lang.StringpropertySelectFragment(java.lang.String alias, java.lang.String suffix, boolean allProperties)
Given a query alias and an identifying suffix, render the property select fragment.