public interface Queryable extends Loadable, PropertyMapping, Joinable
Extends the generic <tt>EntityPersister</tt> contract to add operations required by the Hibernate Query Language
hasIdentifierProperty
Modifier and Type | Interface and Description |
---|---|
static class |
Queryable.Declarer |
ROWID_ALIAS
ENTITY_ID
Modifier and Type | Method and Description |
---|---|
String |
generateFilterConditionAlias(String rootAlias)
The alias used for any filter conditions (mapped where-fragments or
enabled-filters).
|
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 constraint violations.
|
String[][] |
getContraintOrderedTableKeyColumnClosure()
For each table specified in
getConstraintOrderedTableNameClosure() , get
the columns that define the key between the various hierarchy classes. |
String |
getDiscriminatorSQLValue()
Get the discriminator value for this particular concrete subclass,
as a string that may be embedded in a select statement
|
String[] |
getIdentifierColumnNames()
Get the names of columns used to persist the identifier
|
String |
getMappedSuperclass()
Get the class that this class is mapped as a subclass of -
not necessarily the direct superclass
|
Queryable.Declarer |
getSubclassPropertyDeclarer(String propertyPath)
Determine whether the given property is declared by our
mapped class, our super class, or one of our subclasses…
<p/>
Note: the method is called 'subclass property…' simply
for consistency sake (e.g.
|
String[][] |
getSubclassPropertyFormulaTemplateClosure() |
int |
getSubclassPropertyTableNumber(String propertyPath)
Given a property name, determine the number of the table which contains the column
to which this property is mapped.
|
String |
getSubclassTableName(int number)
Get the name of the table with the given index from the internal
array.
|
DiscriminatorMetadata |
getTypeDiscriminatorMetadata()
Retrieve the information needed to properly deal with this entity’s discriminator
in a query.
|
String |
identifierSelectFragment(String name,
String suffix)
Given a query alias and an identifying suffix, render the identifier select fragment.
|
boolean |
isAbstract()
Is this an abstract class?
|
boolean |
isExplicitPolymorphism()
Is this class explicit polymorphism only?
|
boolean |
isMultiTable()
Is the inheritance hierarchy described by this persister contained across
multiple tables?
|
boolean |
isVersionPropertyInsertable()
Is the version property included in insert statements?
|
String |
propertySelectFragment(String alias,
String suffix,
boolean allProperties)
Given a query alias and an identifying suffix, render the property select fragment.
|
SelectFragment |
propertySelectFragmentFragment(String alias,
String suffix,
boolean allProperties) |
getDiscriminatorAlias, getDiscriminatorColumnName, getDiscriminatorType, getDiscriminatorValue, getIdentifierAliases, getPropertyAliases, getPropertyColumnNames, getSubclassForDiscriminatorValue, getTableAliasForColumn, hasRowId, hasSubclasses, hydrate, registerAffectingFetchProfile
afterInitialize, afterReassociate, buildCacheEntry, canExtractIdOutOfEntity, canReadFromCache, canUseReferenceCacheEntries, canWriteToCache, createProxy, delete, findDirty, findModified, forceVersionIncrement, generateEntityDefinition, getCacheAccessStrategy, getCacheEntryStructure, getClassMetadata, getConcreteProxyClass, getCurrentVersion, getDatabaseSnapshot, getEntityEntryFactory, getEntityMetamodel, getEntityMode, getEntityName, getEntityTuplizer, getFactory, getFilterAliasGenerator, getIdByUniqueKey, getIdentifier, getIdentifier, getIdentifierGenerator, getIdentifierPropertyName, getIdentifierType, getInstrumentationMetadata, getMappedClass, getNaturalIdCacheAccessStrategy, getNaturalIdentifierProperties, getNaturalIdentifierSnapshot, getNavigableRole, getPropertyCascadeStyles, getPropertyCheckability, getPropertyInsertability, getPropertyInsertGenerationInclusions, getPropertyLaziness, getPropertyNames, getPropertyNullability, getPropertySpaces, getPropertyType, getPropertyTypes, getPropertyUpdateability, getPropertyUpdateGenerationInclusions, getPropertyValue, getPropertyValue, getPropertyValues, getPropertyValuesToInsert, getPropertyVersionability, getQuerySpaces, getRootEntityName, getSubclassEntityPersister, getVersion, getVersionProperty, getVersionType, hasCache, hasCascades, hasCollections, hasIdentifierProperty, hasInsertGeneratedProperties, hasLazyProperties, hasMutableProperties, hasNaturalIdCache, hasNaturalIdentifier, hasProxy, hasSubselectLoadableCollections, hasUninitializedLazyProperties, hasUpdateGeneratedProperties, implementsLifecycle, insert, insert, instantiate, isBatchLoadable, isCacheInvalidationRequired, isIdentifierAssignedByInsert, isInherited, isInstance, isInstrumented, isLazyPropertiesCacheable, isMutable, isSelectBeforeUpdateRequired, isSubclassEntityName, isTransient, isVersioned, isVersionPropertyGenerated, load, load, loadEntityIdByNaturalId, lock, lock, multiLoad, postInstantiate, processInsertGeneratedProperties, processUpdateGeneratedProperties, resetIdentifier, resolveAttributeIndexes, setIdentifier, setPropertyValue, setPropertyValues, update
getEntityKeyDefinition, getEntityPersister
getAttributes
getType, toColumns, toColumns, toType
consumesCollectionAlias, consumesEntityAlias, filterFragment, filterFragment, fromJoinFragment, fromJoinFragment, getKeyColumnNames, getName, getTableName, isCollection, oneToManyFilterFragment, oneToManyFilterFragment, selectFragment, whereJoinFragment, whereJoinFragment
boolean isAbstract()
Is this an abstract class?
isAbstract
in interface Loadable
boolean isExplicitPolymorphism()
Is this class explicit polymorphism only?
String getMappedSuperclass()
Get the class that this class is mapped as a subclass of - not necessarily the direct superclass
String getDiscriminatorSQLValue()
Get the discriminator value for this particular concrete subclass, as a string that may be embedded in a select statement
String identifierSelectFragment(String name, String suffix)
Given a query alias and an identifying suffix, render the identifier select fragment.
String propertySelectFragment(String alias, String suffix, boolean allProperties)
Given a query alias and an identifying suffix, render the property select fragment.
SelectFragment propertySelectFragmentFragment(String alias, String suffix, boolean allProperties)
String[] getIdentifierColumnNames()
Get the names of columns used to persist the identifier
getIdentifierColumnNames
in interface Loadable
boolean isMultiTable()
Is the inheritance hierarchy described by this persister contained across multiple tables?
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 constraint violations.
String[][] getContraintOrderedTableKeyColumnClosure()
For each table specified in getConstraintOrderedTableNameClosure()
, get
the columns that define the key between the various hierarchy classes.
<p/>
The first dimension here corresponds to the table indexes returned in
getConstraintOrderedTableNameClosure()
.
<p/>
The second dimension should have the same length across all the elements in
the first dimension. If not, that would be a problem ;)
int getSubclassPropertyTableNumber(String propertyPath)
Given a property name, determine the number of the table which contains the column
to which this property is mapped.
<p/>
Note that this is <b>not</b> relative to the results from 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 getSubclassTableName(int)
…
propertyPath
- The name of the property.Queryable.Declarer getSubclassPropertyDeclarer(String propertyPath)
Determine whether the given property is declared by our
mapped class, our super class, or one of our subclasses…
<p/>
Note: the method is called 'subclass property…' simply
for consistency sake (e.g. getSubclassPropertyTableNumber(java.lang.String)
propertyPath
- The property name.String getSubclassTableName(int number)
Get the name of the table with the given index from the internal array.
number
- The index into the internal array.boolean isVersionPropertyInsertable()
Is the version property included in insert statements?
String generateFilterConditionAlias(String rootAlias)
The alias used for any filter conditions (mapped where-fragments or enabled-filters). </p> This may or may not be different from the root alias depending upon the inheritance mapping strategy.
rootAlias
- The root aliasDiscriminatorMetadata getTypeDiscriminatorMetadata()
Retrieve the information needed to properly deal with this entity’s discriminator in a query.
String[][] getSubclassPropertyFormulaTemplateClosure()
Copyright © 2001-2018 Red Hat, Inc. All Rights Reserved.