Class UnionSubclassEntityPersister

    • Method Detail

      • getTableName

        public java.lang.String getTableName()
        Description copied from interface: Joinable
        The table to join to.
      • getDiscriminatorType

        public Type getDiscriminatorType()
        Description copied from interface: Loadable
        Get the discriminator type
      • getDiscriminatorValue

        public java.lang.Object getDiscriminatorValue()
        Description copied from interface: Loadable
        Get the discriminator value
      • getDiscriminatorSQLValue

        public java.lang.String getDiscriminatorSQLValue()
        Description copied from interface: Queryable
        Get the discriminator value for this particular concrete subclass, as a string that may be embedded in a select statement
      • getSubclassClosure

        public java.lang.String[] getSubclassClosure()
      • getSubclassForDiscriminatorValue

        public java.lang.String getSubclassForDiscriminatorValue​(java.lang.Object value)
        Description copied from interface: Loadable
        Get the concrete subclass corresponding to the given discriminator value
      • getPropertySpaces

        public java.io.Serializable[] getPropertySpaces()
        Description copied from interface: EntityPersister
        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).

        Returns:
        The property spaces.
      • isDiscriminatorFormula

        protected boolean isDiscriminatorFormula()
      • generateSelectString

        protected java.lang.String generateSelectString​(LockMode lockMode)
        Generate the SQL that selects a row by id
      • getDiscriminatorFormula

        protected java.lang.String getDiscriminatorFormula()
      • fromTableFragment

        public java.lang.String fromTableFragment​(java.lang.String name)
        Description copied from interface: OuterJoinLoadable
        Get the main from table fragment, given a query alias.
      • filterFragment

        protected java.lang.String filterFragment​(java.lang.String alias,
                                                  java.util.Set<java.lang.String> treatAsDeclarations)
        Specified by:
        filterFragment in class AbstractEntityPersister
      • getSubclassPropertyTableName

        public java.lang.String getSubclassPropertyTableName​(int i)
        Description copied from interface: OuterJoinLoadable
        Return the table name used to persist the numbered property of the class or a subclass.
      • getSubclassPropertyTableNumber

        public int getSubclassPropertyTableNumber​(java.lang.String propertyName)
        Description copied from class: AbstractEntityPersister
        Warning: When there are duplicated property names in the subclasses of the class, this method may return the wrong table number for the duplicated subclass property (note that SingleTableEntityPersister defines an overloaded form which takes the entity name.
        Specified by:
        getSubclassPropertyTableNumber in interface Queryable
        Overrides:
        getSubclassPropertyTableNumber in class AbstractEntityPersister
        Parameters:
        propertyName - The name of the property.
        Returns:
        The number of the table to which the property is mapped.
      • isMultiTable

        public boolean isMultiTable()
        Description copied from interface: Queryable
        Is the inheritance hierarchy described by this persister contained across multiple tables?
        Specified by:
        isMultiTable in interface Queryable
        Overrides:
        isMultiTable in class AbstractEntityPersister
        Returns:
        True if the inheritance hierarchy is spread across multiple tables; false otherwise.
      • getTableHasColumns

        protected boolean[] getTableHasColumns()
      • getPropertyTableName

        public java.lang.String getPropertyTableName​(java.lang.String propertyName)
        Description copied from interface: OuterJoinLoadable
        Get the table name for the given property path
      • getConstraintOrderedTableNameClosure

        public java.lang.String[] getConstraintOrderedTableNameClosure()
        Description copied from interface: Queryable
        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

        public java.lang.String[][] getContraintOrderedTableKeyColumnClosure()
        Description copied from interface: Queryable
        For each table specified in Queryable.getConstraintOrderedTableNameClosure(), get the columns that define the key between the various hierarchy classes.

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

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

      • getFilterAliasGenerator

        public org.hibernate.internal.FilterAliasGenerator getFilterAliasGenerator​(java.lang.String rootAlias)