Interface AggregateSupport

All Known Implementing Classes:
StandardAggregateSupport

@SPI({USE,IMPLEMENT,SUPPLY}) public interface AggregateSupport
Defines aggregate-column mapping, DDL, read, assignment, and write behavior for a Dialect. Consume requests only for the duration of each call.
Since:
8.0
See Also:
  • Method Details

    • aggregateComponentCustomReadExpression

      String aggregateComponentCustomReadExpression(AggregateComponentReadRequest request)
      Render the read expression for one component of an aggregate column.
      Parameters:
      request - the call-scoped read facts; do not retain it
      Returns:
      the component read expression
    • aggregateComponentAssignmentExpression

      String aggregateComponentAssignmentExpression(AggregateComponentAssignmentRequest request)
      Render the assignment target for one component of an aggregate column.
      Parameters:
      request - the call-scoped assignment facts; do not retain it
      Returns:
      the component assignment expression
    • aggregateCustomWriteExpression

      @Nullable String aggregateCustomWriteExpression(AggregateCustomWriteRequest request)
      Render a custom JDBC write expression for the complete aggregate value.
      Parameters:
      request - the call-scoped aggregate facts; do not retain it
      Returns:
      the custom write expression, or null to use ordinary binding
    • requiresAggregateCustomWriteExpressionRenderer

      boolean requiresAggregateCustomWriteExpressionRenderer(int aggregateSqlTypeCode)
      Determine whether partial updates of this aggregate representation require a custom renderer.
    • preferSelectAggregateMapping

      boolean preferSelectAggregateMapping(int aggregateSqlTypeCode)
      Determine whether selection should read the aggregate as one value instead of selecting its components independently.
    • preferBindAggregateMapping

      boolean preferBindAggregateMapping(int aggregateSqlTypeCode)
      Determine whether binding should write the aggregate as one value instead of binding its components independently.
    • aggregateCustomWriteExpressionRenderer

      AggregateWriteExpressionRenderer aggregateCustomWriteExpressionRenderer(AggregateWriteRendererRequest request)
      Supply the renderer for a partial aggregate assignment.
      Parameters:
      request - the call-scoped selectable mappings; do not retain it
      Returns:
      the renderer for this assignment
      See Also:
    • aggregateAuxiliaryObjects

      List<AggregateAuxiliaryObject> aggregateAuxiliaryObjects(AggregateAuxiliaryObjectRequest request)
      Declare auxiliary schema objects required by an aggregate type. Return immutable descriptors and never mutate Hibernate's namespace model.
      Parameters:
      request - the call-scoped aggregate facts; do not retain it
    • aggregateComponentSqlTypeCode

      int aggregateComponentSqlTypeCode(int aggregateColumnSqlTypeCode, int columnSqlTypeCode)
      Resolve the effective SQL type code of a component within an aggregate representation.
    • supportsComponentCheckConstraints

      boolean supportsComponentCheckConstraints()
      Determine whether component nullability and checks may be expressed as a check constraint on the containing table.