Interface QueryDefinition

    • Method Detail

      • addRoot

        DomainObject addRoot​(java.lang.Class cls)
        Add a query root corresponding to the given entity, forming a cartesian product with any existing roots. The domain object that is returned is bound as a component of the given query. The argument must be an entity class.
        Parameters:
        cls - - an entity class
        Returns:
        DomainObject corresponding to the specified entity class.
      • addSubqueryRoot

        DomainObject addSubqueryRoot​(PathExpression path)
        Add a root derived from a domain object of the containing query definition to a query definition used as a subquery. Provides support for correlated subqueries. Joins against the resulting domain object do not affect the query domain of the containing query. The path expression must correspond to an entity class. The path expression must not be a domain object of the containing query.
        Parameters:
        path - - path expression corresponding to the domain object used to derive the subquery root.
        Returns:
        the subquery DomainObject
      • select

        QueryDefinition select​(SelectItem... selectItems)
        Specify the objects / values to be returned. Replaces the previous select list, if any. If no select items are specified and there is only one query root, the root entity is assumed to be the result.
        Parameters:
        selectItems - - one or more SelectItem instances
        Returns:
        the modified query definition instance
      • select

        QueryDefinition select​(java.util.List<SelectItem> selectItemList)
        Specify the objects / values to be returned. Replaces the previous select list, if any. If no select items are specified and there is only one query root, the root entity is assumed to be the result.
        Parameters:
        selectItemList - - a list containing one or more SelectItem instances
        Returns:
        the modified query definition instance
      • selectDistinct

        QueryDefinition selectDistinct​(SelectItem... selectItems)
        Specify the objects / values to be returned. Duplicate results will be eliminated. Replaces the previous select list, if any. If no select items are specified and there is only one query root, the root entity is assumed to be the result.
        Parameters:
        selectItems - - one or more SelectItem instances
        Returns:
        the modified query definition instance
      • selectDistinct

        QueryDefinition selectDistinct​(java.util.List<SelectItem> selectItemList)
        Specify the objects / values to be returned. Duplicate results will be eliminated. Replaces the previous select list, if any. If no select items are specified, and there is only one query root, the root entity is assumed to be the result. is assumed to be the result.
        Parameters:
        selectItemList - - a list containing one or more SelectItem instances
        Returns:
        the modified query definition instance
      • where

        QueryDefinition where​(Predicate predicate)
        Modifies the query definition to restrict the result of the query according to the specified predicate. Replaces the previously added restriction(s), if any.
        Parameters:
        predicate - - a simple or compound conditional predicate
        Returns:
        the modified QueryDefinition instance
      • orderBy

        QueryDefinition orderBy​(OrderByItem... orderByItems)
        Specify the items of the select list that are used in ordering the query results. Replaces the previous order-by list, if any.
        Parameters:
        orderByItems - - one or more OrderByItem instances
        Returns:
        the modified QueryDefinition instance
      • orderBy

        QueryDefinition orderBy​(java.util.List<OrderByItem> orderByItemList)
        Specify the items of the select list that are used in ordering the query results. Replaces the previous order-by list, if any.
        Parameters:
        orderByItemList - - a list containing one or more OrderByItem instances
        Returns:
        the modified QueryDefinition instance
      • groupBy

        QueryDefinition groupBy​(PathExpression... pathExprs)
        Specify the items that are used to form groups over the query results. Replaces the previous group-by list, if any.
        Parameters:
        pathExprs -
        Returns:
        the modified QueryDefinition instance
      • groupBy

        QueryDefinition groupBy​(java.util.List<PathExpression> pathExprList)
        Specify the items that are used to form groups over the query results. Replaces the previous group-by list, if any.
        Parameters:
        pathExprList -
        Returns:
        the modified QueryDefinition instance
      • having

        QueryDefinition having​(Predicate predicate)
        Specify the restrictions over the groups of a query. Replaces the previous having restriction(s), if any.
        Parameters:
        predicate -
        Returns:
        the modified QueryDefinition Instance
      • newInstance

        SelectItem newInstance​(java.lang.Class cls,
                               SelectItem... args)
        Specify that a constructor for the given class is to be applied to the corresponding query results after the query is executed. The class must have a constructor that accepts the Java argument types corresponding to the given select items.
        Parameters:
        cls - - a class with the correponding constructor
        args - - select items that correspond to result types that are valid as arguments to the constructor
      • exists

        Predicate exists()
        Use the query definition instance as a subquery in an exists predicate.
        Returns:
        the resulting predicate
      • all

        Subquery all()
        Use the query definition object in a subquery in an all expression.
        Returns:
        the resulting Subquery
      • any

        Subquery any()
        Use the query definition object in a subquery in an any expression.
        Returns:
        the resulting Subquery
      • some

        Subquery some()
        Use the query definition object in a subquery in a some expression.
        Returns:
        the resulting Subquery
      • generalCase

        CaseExpression generalCase()
        Create an empty general case expression. A general case expression is of the form:

        generalCase() .when(conditional-predicate).then(scalar-expression) .when(conditional-predicate).then(scalar-expression) ... .elseCase(scalar-expression)

        Returns:
        empty general case expression
      • simpleCase

        CaseExpression simpleCase​(Expression caseOperand)
        Create a simple case expression with the given case operand. A simple case expression is of the form:

        simpleCase(case-operand) .when(scalar-expression).then(scalar-expression) .when(scalar-expression).then(scalar-expression) ... .elseCase(scalar-expression)

        Parameters:
        caseOperand - - expression used for testing against the when scalar expressions
        Returns:
        case expression with the given case operand
      • simpleCase

        CaseExpression simpleCase​(java.lang.Number caseOperand)
        Create a simple case expression with the given case operand. A simple case expression is of the form:

        simpleCase(case-operand) .when(scalar-expression).then(scalar-expression) .when(scalar-expression).then(scalar-expression) ... .elseCase(scalar-expression)

        Parameters:
        caseOperand - - numeric value used for testing against the when scalar expressions
        Returns:
        case expression with the given case operand
      • simpleCase

        CaseExpression simpleCase​(java.lang.String caseOperand)
        Create a simple case expression with the given case operand. A simple case expression is of the form:

        simpleCase(case-operand) .when(scalar-expression).then(scalar-expression) .when(scalar-expression).then(scalar-expression) ... .elseCase(scalar-expression)

        Parameters:
        caseOperand - - value used for testing against the when scalar expressions
        Returns:
        case expression with the given case operand
      • simpleCase

        CaseExpression simpleCase​(java.util.Date caseOperand)
        Create a simple case expression with the given case operand. A simple case expression is of the form:

        simpleCase(case-operand) .when(scalar-expression).then(scalar-expression) .when(scalar-expression).then(scalar-expression) ... .elseCase(scalar-expression)

        Parameters:
        caseOperand - - value used for testing against the when scalar expressions
        Returns:
        case expression with the given case operand
      • simpleCase

        CaseExpression simpleCase​(java.util.Calendar caseOperand)
        Create a simple case expression with the given case operand. A simple case expression is of the form:

        simpleCase(case-operand) .when(scalar-expression).then(scalar-expression) .when(scalar-expression).then(scalar-expression) ... .elseCase(scalar-expression)

        Parameters:
        caseOperand - - value used for testing against the when scalar expressions
        Returns:
        case expression with the given case operand
      • simpleCase

        CaseExpression simpleCase​(java.lang.Class caseOperand)
        Create a simple case expression with the given case operand. A simple case expression is of the form:

        simpleCase(case-operand) .when(scalar-expression).then(scalar-expression) .when(scalar-expression).then(scalar-expression) ... .elseCase(scalar-expression)

        Parameters:
        caseOperand - - value used for testing against the when scalar expressions
        Returns:
        case expression with the given case operand
      • simpleCase

        CaseExpression simpleCase​(java.lang.Enum<?> caseOperand)
        Create a simple case expression with the given case operand. A simple case expression is of the form:

        simpleCase(case-operand) .when(scalar-expression).then(scalar-expression) .when(scalar-expression).then(scalar-expression) ... .elseCase(scalar-expression)

        Parameters:
        caseOperand - - value used for testing against the when scalar expressions
        Returns:
        case expression with the given case operand
      • coalesce

        Expression coalesce​(Expression... exp)
        coalesce This is equivalent to a case expression that returns null if all its arguments evaluate to null, and the value of its first non-null argument otherwise.
        Parameters:
        exp - - expressions to be used for testing against null
        Returns:
        Expression corresponding to the given coalesce expression
      • coalesce

        Expression coalesce​(java.lang.String... exp)
        coalesce This is equivalent to a case expression that returns null if all its arguments evaluate to null, and the value of its first non-null argument otherwise.
        Parameters:
        exp - - expressions to be used for testing against null
        Returns:
        Expression corresponding to the given coalesce expression
      • coalesce

        Expression coalesce​(java.util.Date... exp)
        coalesce This is equivalent to a case expression that returns null if all its arguments evaluate to null, and the value of its first non-null argument otherwise.
        Parameters:
        exp - - expressions to be used for testing against null
        Returns:
        Expression corresponding to the given coalesce expression
      • coalesce

        Expression coalesce​(java.util.Calendar... exp)
        coalesce This is equivalent to a case expression that returns null if all its arguments evaluate to null, and the value of its first non-null argument otherwise.
        Parameters:
        exp - - expressions to be used for testing against null
        Returns:
        Expression corresponding to the given coalesce expression
      • nullif

        Expression nullif​(Expression exp1,
                          Expression exp2)
        nullif This is equivalent to a case expression that tests whether its arguments are equal, returning null if they are and the value of the first expression if they are not.
        Parameters:
        exp1 -
        exp2 -
        Returns:
        Expression corresponding to the given nullif expression
      • nullif

        Expression nullif​(java.lang.Number arg1,
                          java.lang.Number arg2)
        nullif This is equivalent to a case expression that tests whether its arguments are equal, returning null if they are and the value of the first expression if they are not.
        Parameters:
        arg1 -
        arg2 -
        Returns:
        Expression corresponding to the given nullif expression
      • nullif

        Expression nullif​(java.lang.String arg1,
                          java.lang.String arg2)
        nullif This is equivalent to a case expression that tests whether its arguments are equal, returning null if they are and the value of the first expression if they are not.
        Parameters:
        arg1 -
        arg2 - Criteria API Java Persistence 2.0, Public Review Draft Criteria API Interfaces 10/31/08 158 JSR-317 Public Review Draft Sun Microsystems, Inc.
        Returns:
        Expression corresponding to the given nullif expression
      • nullif

        Expression nullif​(java.util.Date arg1,
                          java.util.Date arg2)
        nullif This is equivalent to a case expression that tests whether its arguments are equal, returning null if they are and the value of the first expression if they are not.
        Parameters:
        arg1 -
        arg2 -
        Returns:
        Expression corresponding to the given nullif expression
      • nullif

        Expression nullif​(java.util.Calendar arg1,
                          java.util.Calendar arg2)
        nullif This is equivalent to a case expression that tests whether its arguments are equal, returning null if they are and the value of the first expression if they are not.
        Parameters:
        arg1 -
        arg2 -
        Returns:
        Expression corresponding to the given nullif expression
      • nullif

        Expression nullif​(java.lang.Class arg1,
                          java.lang.Class arg2)
        nullif This is equivalent to a case expression that tests whether its arguments are equal, returning null if they are and the value of the first expression if they are not.
        Parameters:
        arg1 -
        arg2 -
        Returns:
        Expression corresponding to the given nullif expression
      • nullif

        Expression nullif​(java.lang.Enum<?> arg1,
                          java.lang.Enum<?> arg2)
        nullif This is equivalent to a case expression that tests whether its arguments are equal, returning null if they are and the value of the first expression if they are not.
        Parameters:
        arg1 -
        arg2 -
        Returns:
        Expression corresponding to the given nullif expression
      • predicate

        Predicate predicate​(boolean b)
        Create a predicate value from the given boolean.
        Parameters:
        b - boolean value
        Returns:
        a true or false predicate
      • currentTime

        Expression currentTime()
        Create an Expression corresponding to the current time on the database server at the time of query execution.
        Returns:
        the corresponding Expression
      • currentDate

        Expression currentDate()
        Create an Expression corresponding to the current date on the database server at the time of query execution.
        Returns:
        the corresponding Expression
      • currentTimestamp

        Expression currentTimestamp()
        Create an Expression corresponding to the current timestamp on the database server at the time of query execution.
        Returns:
        the corresponding Expression
      • literal

        Expression literal​(java.lang.String s)
        Create an Expression corresponding to a String value.
        Parameters:
        s - - string value
        Returns:
        the corresponding Expression literal
      • literal

        Expression literal​(java.lang.Number n)
        Create an Expression corresponding to a numeric value.
        Parameters:
        n - - numeric value
        Returns:
        the corresponding Expression literal
      • literal

        Expression literal​(boolean b)
        Create an Expression corresponding to a boolean value.
        Parameters:
        b - - boolean value
        Returns:
        the corresponding Expression literal
      • literal

        Expression literal​(java.util.Calendar c)
        Create an Expression corresponding to a Calendar value.
        Parameters:
        c - - Calendar value
        Returns:
        the corresponding Expression literal
      • literal

        Expression literal​(java.util.Date d)
        Create an Expression corresponding to a Date value.
        Parameters:
        d - - Date value
        Returns:
        the corresponding Expression literal
      • literal

        Expression literal​(char c)
        Create an Expression corresponding to a character value.
        Parameters:
        character - value
        Returns:
        the corresponding Expression literal
      • literal

        Expression literal​(java.lang.Class cls)
        Create an Expression corresponding to an entity class.
        Parameters:
        cls - - entity class
        Returns:
        the corresponding Expression literal
      • literal

        Expression literal​(java.lang.Enum<?> e)
        Create an Expression corresponding to an enum.
        Parameters:
        e - - enum
        Returns:
        the corresponding Expression literal
      • nullLiteral

        Expression nullLiteral()
        Create an Expression corresponding to a null value.
        Returns:
        the corresponding Expression literal
      • param

        Expression param​(java.lang.String name)
        Specify use of a parameter of the given name.
        Parameters:
        parameter - name
        Returns:
        an Expression corresponding to a named parameter