Class CriteriaQueryBuilder<T>


  • public class CriteriaQueryBuilder<T>
    extends java.lang.Object
    An extension of CriteriaQuery that uses a Builder-style pattern when adding "WHERE" and/or "ORDER BY" clauses.

    CriteriaQuery, as is, requires that all clauses must be passed in at once -- if one calls "WHERE" multiple times, the later call overwrites the earlier call.

    • Method Detail

      • whereFieldIsIn

        public CriteriaQueryBuilder<T> whereFieldIsIn​(java.lang.String fieldName,
                                                      java.util.Collection<?> values)
        Adds a WHERE clause to the query specifying that a value must be in the given collection.
      • whereFieldIsNotIn

        public CriteriaQueryBuilder<T> whereFieldIsNotIn​(java.lang.String fieldName,
                                                         java.util.Collection<?> values)
        Adds a WHERE clause to the query specifying that a value must not be in the given collection.
      • whereFieldContains

        public CriteriaQueryBuilder<T> whereFieldContains​(java.lang.String fieldName,
                                                          java.lang.Object value)
        Adds a WHERE clause to the query specifying that a collection field must contain a particular value.
      • orderByAsc

        public CriteriaQueryBuilder<T> orderByAsc​(java.lang.String fieldName)
        Orders the result by the given field ascending.
      • orderByDesc

        public CriteriaQueryBuilder<T> orderByDesc​(java.lang.String fieldName)
        Orders the result by the given field descending.
      • build

        public javax.persistence.criteria.CriteriaQuery<T> build()
        Builds and returns the query, applying all WHERE and ORDER BY clauses at once.
      • create

        public static <T> CriteriaQueryBuilder<T> create​(java.lang.Class<T> clazz)
        Creates a query builder that will SELECT from the given class.