Interface WhereClauseTerminal<DTO,GBCT extends GroupByClauseTerminal<DTO,HCC,HCCT,OBC,OBCC>,HCC extends HavingConditionClause<DTO,HCC,HCCT,OBC,OBCC>,HCCT extends HavingConditionClauseTerminal<DTO,HCC,HCCT,OBC,OBCC>,OBC extends OrderByClause<DTO,OBC,OBCC>,OBCC extends OrderByClauseChain<DTO,OBC,OBCC>>

Type Parameters:
DTO - the data transfer object (DTO) type that represents the result of the query
GBCT - the terminal type of the GROUP BY clause, marking the end of GROUP BY clause
HCC - the type of the HAVING condition clause for further filtering
HCCT - the terminal type of the HAVING condition clause, marking the end of HAVING conditions
OBC - the type of the order by clause used to define the ordering of query results
OBCC - the type of the order by clause chain for chaining multiple ordering expressions
All Superinterfaces:
LimitClauseTerminal<DTO>, OrderByClauseTerminal<DTO>, SelectTerminal<DTO>
All Known Subinterfaces:
FromClauseTerminal<DTO,JC,JCC,JCCT,WCC,WCCT,GBCT,HCC,HCCT,OBC,OBCC>, JoinClauseTerminal<DTO,JC,JCC,JCCT,WCC,WCCT,GBCT,HCC,HCCT,OBC,OBCC>, SqlJoinClauseTerminal, WhereConditionClauseTerminal<DTO,WCC,SELF,GBCT,HCC,HCCT,OBC,OBCC>
All Known Implementing Classes:
org.litebridgedb.orm.api.select.impl.AbstractFromClauseTerminal, org.litebridgedb.orm.api.select.impl.AbstractJoinClauseTerminal, org.litebridgedb.orm.api.select.impl.AbstractJoinConditionClauseTerminal, org.litebridgedb.orm.api.select.impl.AbstractWhereClauseTerminal, DtoFromClauseTerminal, DtoJoinConditionClauseTerminal, DtoWhereConditionClauseTerminal, SqlFromClauseTerminal, SqlJoinConditionClauseTerminal, SqlWhereConditionClauseTerminal

public interface WhereClauseTerminal<DTO,GBCT extends GroupByClauseTerminal<DTO,HCC,HCCT,OBC,OBCC>,HCC extends HavingConditionClause<DTO,HCC,HCCT,OBC,OBCC>,HCCT extends HavingConditionClauseTerminal<DTO,HCC,HCCT,OBC,OBCC>,OBC extends OrderByClause<DTO,OBC,OBCC>,OBCC extends OrderByClauseChain<DTO,OBC,OBCC>> extends OrderByClauseTerminal<DTO>
Terminal clause for constructing SQL WHERE conditions, allowing transitions to GROUP BY or ORDER BY stages in a fluent and type-safe query-building process.
  • Method Details

    • groupBy

      GBCT groupBy(String... columns)
      Adds a GROUP BY clause to the query, specifying the column(s) to group the results by.
      Parameters:
      columns - the column(s) to group the results by. Each column must be valid for the associated table or view in the query.
      Returns:
      an instance of the type representing the GROUP BY clause, allowing further specification of ordering or transitioning to the next query stage.
    • groupBy

      GBCT groupBy(ExpressionSpec... columns)
      Adds a GROUP BY clause to the query, specifying the expressions to group the results by.
      Parameters:
      columns - the expressions to group the results by.
      Returns:
      an instance of the type representing the GROUP BY clause, allowing further specification of ordering or transitioning to the next query stage.
    • orderBy

      OBC orderBy(String... columns)
      Adds an ORDER BY clause to the query, specifying the expressions to sort the results by.
      Parameters:
      columns - the expressions that determine the order of the results. Each column must be valid for the associated table or view in the query. The order in which the expressions are specified determines the priority of ordering.
      Returns:
      an instance of the type representing the ORDER BY clause, allowing further specification of ordering or transitioning to the next query stage.
    • orderBy

      OBC orderBy(ExpressionSpec... columns)
      Adds an ORDER BY clause to the query, specifying the fields and expressions to sort the results by.
      Parameters:
      columns - the field and column specifications that determine the order of the results. Each specification includes a mapping of a field to a column. The order in which the specifications are provided defines the priority of ordering.
      Returns:
      an instance of the type representing the ORDER BY clause, allowing further specification of ordering or transitioning to the next query stage.