Interface Queryable

    • Method Detail

      • isAbstract

        boolean isAbstract()
        Is this an abstract class?
        Specified by:
        isAbstract in interface Loadable
      • isExplicitPolymorphism

        boolean isExplicitPolymorphism()
        Is this class explicit polymorphism only?
      • getMappedSuperclass

        java.lang.String getMappedSuperclass()
        Get the class that this class is mapped as a subclass of - not necessarily the direct superclass
      • getDiscriminatorSQLValue

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

        java.lang.String identifierSelectFragment​(java.lang.String name,
                                                  java.lang.String suffix)
        Given a query alias and an identifying suffix, render the identifier select fragment.
      • propertySelectFragment

        java.lang.String propertySelectFragment​(java.lang.String alias,
                                                java.lang.String suffix,
                                                boolean allProperties)
        Given a query alias and an identifying suffix, render the property select fragment.
      • propertySelectFragmentFragment

        SelectFragment propertySelectFragmentFragment​(java.lang.String alias,
                                                      java.lang.String suffix,
                                                      boolean allProperties)
      • getIdentifierColumnNames

        java.lang.String[] getIdentifierColumnNames()
        Get the names of columns used to persist the identifier
        Specified by:
        getIdentifierColumnNames in interface Loadable
      • isMultiTable

        boolean isMultiTable()
        Is the inheritance hierarchy described by this persister contained across multiple tables?
        Returns:
        True if the inheritance hierarchy is spread across multiple tables; false otherwise.
      • getConstraintOrderedTableNameClosure

        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 constraint violations.
        Returns:
        The ordered array of table names.
      • getContraintOrderedTableKeyColumnClosure

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

        The first dimension here corresponds to the table indexes returned in getConstraintOrderedTableNameClosure().

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

      • getSubclassPropertyTableNumber

        int getSubclassPropertyTableNumber​(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 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)...

        Parameters:
        propertyPath - The name of the property.
        Returns:
        The number of the table to which the property is mapped.
      • getSubclassPropertyDeclarer

        Queryable.Declarer getSubclassPropertyDeclarer​(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. getSubclassPropertyTableNumber(java.lang.String)

        Parameters:
        propertyPath - The property name.
        Returns:
        The property declarer
      • getSubclassTableName

        java.lang.String getSubclassTableName​(int number)
        Get the name of the table with the given index from the internal array.
        Parameters:
        number - The index into the internal array.
      • isVersionPropertyInsertable

        boolean isVersionPropertyInsertable()
        Is the version property included in insert statements?
      • generateFilterConditionAlias

        java.lang.String generateFilterConditionAlias​(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 inheritance mapping strategy.
        Parameters:
        rootAlias - The root alias
        Returns:
        The alias used for "filter conditions" within the where clause.
      • getTypeDiscriminatorMetadata

        DiscriminatorMetadata getTypeDiscriminatorMetadata()
        Retrieve the information needed to properly deal with this entity's discriminator in a query.
        Returns:
        The entity discriminator metadata
      • getSubclassPropertyFormulaTemplateClosure

        java.lang.String[][] getSubclassPropertyFormulaTemplateClosure()