Class CaseStatementDiscriminatorMappingImpl

java.lang.Object
org.hibernate.metamodel.mapping.internal.AbstractDiscriminatorMapping
org.hibernate.metamodel.mapping.internal.CaseStatementDiscriminatorMappingImpl
All Implemented Interfaces:
BasicValuedMapping, BasicValuedModelPart, Bindable, DiscriminatorMapping, EntityDiscriminatorMapping, JdbcMappingContainer, MappingModelExpressible, ModelPart, SelectableMapping, SelectableMappings, SqlExpressible, SqlTypedMapping, ValuedModelPart, ValueMapping, VirtualModelPart, Fetchable, FetchOptions, FetchStyleAccess, FetchTimingAccess, JavaTypedExpressible

public class CaseStatementDiscriminatorMappingImpl extends AbstractDiscriminatorMapping
  • Constructor Details

    • CaseStatementDiscriminatorMappingImpl

      public CaseStatementDiscriminatorMappingImpl(JoinedSubclassEntityPersister entityDescriptor, String[] tableNames, int[] notNullColumnTableNumbers, String[] notNullColumnNames, String[] discriminatorValues, boolean[] discriminatorAbstract, DiscriminatorType<?> incomingDiscriminatorType)
  • Method Details

    • hasPhysicalColumn

      public boolean hasPhysicalColumn()
      Description copied from interface: EntityDiscriminatorMapping
      Is the discriminator defined by a physical column?
    • createDomainResult

      public DomainResult createDomainResult(NavigablePath navigablePath, TableGroup tableGroup, String resultVariable, DomainResultCreationState creationState)
      Description copied from interface: ModelPart
      Create a DomainResult for a specific reference to this ModelPart.
      Specified by:
      createDomainResult in interface ModelPart
      Overrides:
      createDomainResult in class AbstractDiscriminatorMapping
    • generateFetch

      public BasicFetch<?> generateFetch(FetchParent fetchParent, NavigablePath fetchablePath, FetchTiming fetchTiming, boolean selected, String resultVariable, DomainResultCreationState creationState)
      Description copied from interface: Fetchable
      Generates a Fetch of this fetchable
      Specified by:
      generateFetch in interface DiscriminatorMapping
      Specified by:
      generateFetch in interface Fetchable
      Overrides:
      generateFetch in class AbstractDiscriminatorMapping
      Parameters:
      fetchParent - The parent of the Fetch we are generating
      fetchablePath - The overall path within the graph
      fetchTiming - The requested fetch timing
    • resolveSqlExpression

      public Expression resolveSqlExpression(NavigablePath navigablePath, JdbcMapping jdbcMappingToUse, TableGroup tableGroup, SqlAstCreationState creationState)
      Description copied from interface: DiscriminatorMapping
      Create the appropriate SQL expression for this discriminator
      Parameters:
      jdbcMappingToUse - The JDBC mapping to use. This allows opting between the "domain result type" (aka Class) and the "underlying type" (Integer, String, etc)
    • getCustomReadExpression

      public String getCustomReadExpression()
      Description copied from interface: SelectableMapping
      The selection's read expression accounting for formula treatment as well as ColumnTransformer.read()
    • getCustomWriteExpression

      public String getCustomWriteExpression()
      Description copied from interface: SelectableMapping
      The selection's write expression accounting ColumnTransformer.write()
    • getColumnDefinition

      public String getColumnDefinition()
    • getLength

      public Long getLength()
    • getPrecision

      public Integer getPrecision()
    • getTemporalPrecision

      public Integer getTemporalPrecision()
    • getScale

      public Integer getScale()
    • isNullable

      public boolean isNullable()
      Description copied from interface: SelectableMapping
      Is the mapping considered nullable?
    • isInsertable

      public boolean isInsertable()
    • isUpdateable

      public boolean isUpdateable()
    • isPartitioned

      public boolean isPartitioned()
    • hasPartitionedSelectionMapping

      public boolean hasPartitionedSelectionMapping()
    • getContainingTableExpression

      public String getContainingTableExpression()
      Description copied from interface: ValuedModelPart
      The table which contains the columns mapped by this value
    • getSelectionExpression

      public String getSelectionExpression()
      Description copied from interface: SelectableMapping
      The selection's expression. This is the column name or formula
    • isFormula

      public boolean isFormula()
      Description copied from interface: SelectableMapping
      Is the mapping a formula instead of a physical column?