Class AggregateFunction

  • All Implemented Interfaces:
    Expression
    Direct Known Subclasses:
    AvgFunction, CountFunction, MaxFunction, MinFunction, SumFunction

    public abstract class AggregateFunction
    extends AbstractSingleEncapsulatedExpression
    In the SELECT clause the result of a query may be the result of an aggregate function applied to a path expression. The following aggregate functions can be used in the SELECT clause of a query: AVG, COUNT, MAX, MIN, SUM.

    A single_valued_association_field is designated by the name of an association-field in a one-to-one or many-to-one relationship. The type of a single_valued_association_field and thus a single_valued_association_path_expression is the abstract schema type of the related entity.

    The argument to an aggregate function may be preceded by the keyword DISTINCT to specify that duplicate values are to be eliminated before the aggregate function is applied. Null values are eliminated before the aggregate function is applied, regardless of whether the keyword DISTINCT is specified.

    BNF: aggregate_expression ::= { AVG | MAX | MIN | SUM } ([DISTINCT] state_field_path_expression) | COUNT ([DISTINCT] identification_variable | state_field_path_expression | single_valued_object_path_expression)

    Since:
    2.3
    Version:
    2.5
    Author:
    Pascal Filion
    See Also:
    AvgFunction, CountFunction, MaxFunction, MinFunction, SumFunction
    • Method Detail

      • getActualDistinctIdentifier

        public java.lang.String getActualDistinctIdentifier()
        Returns the actual DISTINCT identifier found in the string representation of the JPQL query, which has the actual case that was used.
        Returns:
        The DISTINCT identifier that was actually parsed, or an empty string if it was not parsed
      • hasDistinct

        public final boolean hasDistinct()
        Determines whether the DISTINCT identifier was specified in the query.
        Returns:
        true if the query has DISTINCT; false otherwise
      • hasSpaceAfterDistinct

        public final boolean hasSpaceAfterDistinct()
        Determines whether a whitespace was parsed after DISTINCT.
        Returns:
        true if there was a whitespace after DISTINCT; false otherwise