Class AsyncEntityQuery<E extends BaseEntity>

    • Constructor Detail

      • AsyncEntityQuery

        public AsyncEntityQuery​(java.lang.Class<E> type)
        Constructor for creating a DQL statement for a given entity. This constructor should not be used directly, but through the DQL methods defined in the BaseService.
        Parameters:
        type - The entity to query.
    • Method Detail

      • where

        public AsyncEntityQuery<E> where​(com.github.collinalpert.lambda2sql.functions.SqlPredicate<E> predicate)
        Sets or appends a WHERE clause for the DQL statement.
        Overrides:
        where in class EntityQuery<E extends BaseEntity>
        Parameters:
        predicate - The predicate describing the WHERE clause.
        Returns:
        This EntityQuery object, now with an (appended) WHERE clause.
      • orWhere

        public AsyncEntityQuery<E> orWhere​(com.github.collinalpert.lambda2sql.functions.SqlPredicate<E> predicate)
        Sets or appends an OR WHERE clause to the DQL statement.
        Overrides:
        orWhere in class EntityQuery<E extends BaseEntity>
        Parameters:
        predicate - The predicate describing the OR WHERE clause.
        Returns:
        This EntityQuery object, now with an (appended) OR WHERE clause.
      • orderBy

        public AsyncEntityQuery<E> orderBy​(com.github.collinalpert.lambda2sql.functions.SqlFunction<E,​?> function)
        Sets an ORDER BY clauses for the DQL statement.
        Overrides:
        orderBy in class EntityQuery<E extends BaseEntity>
        Parameters:
        function - The column to order by..
        Returns:
        This EntityQuery object, now with a ORDER BY clause.
      • orderBy

        public AsyncEntityQuery<E> orderBy​(com.github.collinalpert.lambda2sql.functions.SqlFunction<E,​?>[] functions)
        Sets multiple ORDER BY clauses for the DQL statement. The resulting ORDER BY statement will coalesce the passed columns.
        Overrides:
        orderBy in class EntityQuery<E extends BaseEntity>
        Parameters:
        functions - The columns to order by in a coalescing manner.
        Returns:
        This EntityQuery object, now with a coalesced ORDER BY clause.
      • orderBy

        public AsyncEntityQuery<E> orderBy​(java.util.List<com.github.collinalpert.lambda2sql.functions.SqlFunction<E,​?>> functions)
        Sets multiple ORDER BY clauses for the DQL statement. The resulting ORDER BY statement will coalesce the passed columns.
        Overrides:
        orderBy in class EntityQuery<E extends BaseEntity>
        Parameters:
        functions - The columns to order by in a coalescing manner.
        Returns:
        This EntityQuery object, now with a coalesced ORDER BY clause.
      • orderBy

        public AsyncEntityQuery<E> orderBy​(OrderTypes orderType,
                                           com.github.collinalpert.lambda2sql.functions.SqlFunction<E,​?> function)
        Sets an ORDER BY clauses for the DQL statement with a sorting order option.
        Overrides:
        orderBy in class EntityQuery<E extends BaseEntity>
        Parameters:
        orderType - The direction to order by. Can be either ascending or descending.
        function - The column to order by.
        Returns:
        This EntityQuery object, now with a ORDER BY clause.
      • orderBy

        public AsyncEntityQuery<E> orderBy​(OrderTypes orderType,
                                           com.github.collinalpert.lambda2sql.functions.SqlFunction<E,​?>[] functions)
        Sets multiple ORDER BY clauses for the DQL statement with a sorting order option. The resulting ORDER BY statement will coalesce the passed columns.
        Overrides:
        orderBy in class EntityQuery<E extends BaseEntity>
        Parameters:
        orderType - The direction to order by. Can be either ascending or descending.
        functions - The columns to order by in a coalescing manner.
        Returns:
        This EntityQuery object, now with a coalesced ORDER BY clause.
      • orderBy

        public AsyncEntityQuery<E> orderBy​(OrderTypes orderType,
                                           java.util.List<com.github.collinalpert.lambda2sql.functions.SqlFunction<E,​?>> functions)
        Sets multiple ORDER BY clauses for the DQL statement with a sorting order option. The resulting ORDER BY statement will coalesce the passed columns.
        Overrides:
        orderBy in class EntityQuery<E extends BaseEntity>
        Parameters:
        orderType - The direction to order by. Can be either ascending or descending.
        functions - The columns to order by in a coalescing manner.
        Returns:
        This EntityQuery object, now with a coalesced ORDER BY clause.
      • limit

        public AsyncEntityQuery<E> limit​(int limit,
                                         int offset)
        Limits the result of the rows returned to a maximum of the passed integer with an offset. For example, the call .limit(10, 5) would return the rows 6-15.
        Overrides:
        limit in class EntityQuery<E extends BaseEntity>
        Parameters:
        limit - The maximum of rows to be returned.
        offset - The offset of the limit.
        Returns:
        This EntityQuery object, now with a LIMIT with an OFFSET.
      • limit

        public AsyncEntityQuery<E> limit​(int limit)
        Limits the result of the rows returned to a maximum of the passed integer.
        Overrides:
        limit in class EntityQuery<E extends BaseEntity>
        Parameters:
        limit - The maximum of rows to be returned.
        Returns:
        This EntityQuery object, now with a LIMIT.
      • project

        public <R> AsyncQueryable<R> project​(com.github.collinalpert.lambda2sql.functions.SqlFunction<E,​R> projection)
        Selects only a single column from a table. This is meant if you don't want to fetch an entire entity from the database.
        Overrides:
        project in class EntityQuery<E extends BaseEntity>
        Type Parameters:
        R - The type of the column you want to retrieve.
        Parameters:
        projection - The column to project to.
        Returns:
        A queryable containing the projection.