Interface QueryBuilder

    • Field Detail

      • VARIABLE_PATTERN

        static final java.util.regex.Pattern VARIABLE_PATTERN
        A pattern used to find variables in a query string.
      • IN_VARIABLES_PATTERN

        @Deprecated
        static final java.util.regex.Pattern IN_VARIABLES_PATTERN
        Deprecated.
        A pattern used to find in queries in a query string.
    • Method Detail

      • buildInsert

        @Nullable
        QueryResult buildInsert​(io.micronaut.core.annotation.AnnotationMetadata repositoryMetadata,
                                PersistentEntity entity)
        Builds an insert statement for the given entity.
        Parameters:
        repositoryMetadata - The repository annotation metadata
        entity - The entity
        Returns:
        The insert statement or null if the implementation doesn't require insert statements
      • buildQuery

        @NonNull
        default QueryResult buildQuery​(@NonNull
                                       QueryModel query)
        Encode the given query into the encoded query instance.
        Parameters:
        query - The query
        Returns:
        The encoded query
      • buildQuery

        QueryResult buildQuery​(@NonNull
                               io.micronaut.core.annotation.AnnotationMetadata annotationMetadata,
                               @NonNull
                               QueryModel query)
        Encode the given query for the passed annotation metadata and query.
        Parameters:
        annotationMetadata - The annotation metadata
        query - The query model
        Returns:
        The query result
      • buildUpdate

        @NonNull
        default QueryResult buildUpdate​(@NonNull
                                        QueryModel query,
                                        @NonNull
                                        java.util.List<java.lang.String> propertiesToUpdate)
        Encode the given query into the encoded query instance.
        Parameters:
        query - The query
        propertiesToUpdate - The property names to update
        Returns:
        The encoded query
      • buildUpdate

        @NonNull
        default QueryResult buildUpdate​(@NonNull
                                        QueryModel query,
                                        @NonNull
                                        java.util.Map<java.lang.String,​java.lang.Object> propertiesToUpdate)
        Encode the given query into the encoded query instance.
        Parameters:
        query - The query
        propertiesToUpdate - The property names to update
        Returns:
        The encoded query
      • buildUpdate

        QueryResult buildUpdate​(@NonNull
                                io.micronaut.core.annotation.AnnotationMetadata annotationMetadata,
                                @NonNull
                                QueryModel query,
                                @NonNull
                                java.util.List<java.lang.String> propertiesToUpdate)
        Encode the given query into the encoded query instance.
        Parameters:
        annotationMetadata - The annotation metadata
        query - The query
        propertiesToUpdate - The property names to update
        Returns:
        The encoded query
      • buildUpdate

        QueryResult buildUpdate​(@NonNull
                                io.micronaut.core.annotation.AnnotationMetadata annotationMetadata,
                                @NonNull
                                QueryModel query,
                                @NonNull
                                java.util.Map<java.lang.String,​java.lang.Object> propertiesToUpdate)
        Encode the given query into the encoded query instance.
        Parameters:
        annotationMetadata - The annotation metadata
        query - The query
        propertiesToUpdate - The property names to update
        Returns:
        The encoded query
      • buildDelete

        @NonNull
        default QueryResult buildDelete​(@NonNull
                                        QueryModel query)
        Encode the given query into the encoded query instance.
        Parameters:
        query - The query
        Returns:
        The encoded query
      • buildDelete

        QueryResult buildDelete​(@NonNull
                                io.micronaut.core.annotation.AnnotationMetadata annotationMetadata,
                                @NonNull
                                QueryModel query)
        Encode the given query into the encoded query instance.
        Parameters:
        annotationMetadata - The annotation metadata
        query - The query
        Returns:
        The encoded query
      • buildOrderBy

        @NonNull
        QueryResult buildOrderBy​(@NonNull
                                 PersistentEntity entity,
                                 @NonNull
                                 Sort sort)
        Encode the given query into the encoded query instance.
        Parameters:
        entity - The root entity
        sort - The sort
        Returns:
        The encoded query
      • buildPagination

        @NonNull
        QueryResult buildPagination​(@NonNull
                                    Pageable pageable)
        Encode the pageable.
        Parameters:
        pageable - The pageable
        Returns:
        The encoded query
      • newQueryBuilder

        @NonNull
        static QueryBuilder newQueryBuilder​(@NonNull
                                            io.micronaut.core.annotation.AnnotationMetadata annotationMetadata)
        Build a query build from the configured annotation metadata.
        Parameters:
        annotationMetadata - The annotation metadata.
        Returns:
        The query builder
      • shouldAliasProjections

        default boolean shouldAliasProjections()
        Whether projections should be aliased.
        Returns:
        True if they should
      • supportsForUpdate

        default boolean supportsForUpdate()
        Whether FOR UPDATE queries are supported.
        Returns:
        True if FOR UPDATE queries are supported