Interface QueryDefinition
- All Superinterfaces:
PredicateOperand
,Subquery
- All Known Subinterfaces:
DomainObject
- All Known Implementing Classes:
AbstractDomainObject
,EntryExpression
,FetchPath
,JoinPath
,KeyExpression
,OperatorPath
,QueryDefinitionImpl
,RootPath
,ValueExpression
Interface for construction of query definitions
-
Method Summary
Modifier and TypeMethodDescriptionAdd a query root corresponding to the given entity, forming a cartesian product with any existing roots.Add a root derived from a domain object of the containing query definition to a query definition used as a subquery.all()
Use the query definition object in a subquery in an all expression.any()
Use the query definition object in a subquery in an any expression.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.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.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.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.Create an Expression corresponding to the current date on the database server at the time of query execution.Create an Expression corresponding to the current time on the database server at the time of query execution.Create an Expression corresponding to the current timestamp on the database server at the time of query execution.exists()
Use the query definition instance as a subquery in an exists predicate.Create an empty general case expression.groupBy
(List<PathExpression> pathExprList) Specify the items that are used to form groups over the query results.groupBy
(PathExpression... pathExprs) Specify the items that are used to form groups over the query results.Specify the restrictions over the groups of a query.literal
(boolean b) Create an Expression corresponding to a boolean value.literal
(char c) Create an Expression corresponding to a character value.Create an Expression corresponding to an entity class.Create an Expression corresponding to an enum.Create an Expression corresponding to a numeric value.Create an Expression corresponding to a String value.Create an Expression corresponding to a Calendar value.Create an Expression corresponding to a Date value.newInstance
(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.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.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.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.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.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.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.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.Create an Expression corresponding to a null value.orderBy
(List<OrderByItem> orderByItemList) Specify the items of the select list that are used in ordering the query results.orderBy
(OrderByItem... orderByItems) Specify the items of the select list that are used in ordering the query results.Specify use of a parameter of the given name.predicate
(boolean b) Create a predicate value from the given boolean.select
(List<SelectItem> selectItemList) Specify the objects / values to be returned.select
(SelectItem... selectItems) Specify the objects / values to be returned.selectDistinct
(List<SelectItem> selectItemList) Specify the objects / values to be returned.selectDistinct
(SelectItem... selectItems) Specify the objects / values to be returned.simpleCase
(Class caseOperand) Create a simple case expression with the given case operand.simpleCase
(Enum<?> caseOperand) Create a simple case expression with the given case operand.simpleCase
(Number caseOperand) Create a simple case expression with the given case operand.simpleCase
(String caseOperand) Create a simple case expression with the given case operand.simpleCase
(Calendar caseOperand) Create a simple case expression with the given case operand.simpleCase
(Date caseOperand) Create a simple case expression with the given case operand.simpleCase
(Expression caseOperand) Create a simple case expression with the given case operand.some()
Use the query definition object in a subquery in a some expression.Modifies the query definition to restrict the result of the query according to the specified predicate.Methods inherited from interface org.apache.openjpa.persistence.query.PredicateOperand
between, between, between, between, between, between, between, between, between, between, between, between, between, equal, equal, equal, equal, equal, equal, equal, equal, greaterEqual, greaterEqual, greaterEqual, greaterEqual, greaterEqual, greaterThan, greaterThan, greaterThan, greaterThan, greaterThan, lessEqual, lessEqual, lessEqual, lessEqual, lessEqual, lessThan, lessThan, lessThan, lessThan, lessThan, like, like, like, like, like, like, notEqual, notEqual, notEqual, notEqual, notEqual, notEqual, notEqual, notEqual
-
Method Details
-
addRoot
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
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
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
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
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
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
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
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
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
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
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
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
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 constructorargs
- - 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Create an Expression corresponding to a String value.- Parameters:
s
- - string value- Returns:
- the corresponding Expression literal
-
literal
Create an Expression corresponding to a numeric value.- Parameters:
n
- - numeric value- Returns:
- the corresponding Expression literal
-
literal
Create an Expression corresponding to a boolean value.- Parameters:
b
- - boolean value- Returns:
- the corresponding Expression literal
-
literal
Create an Expression corresponding to a Calendar value.- Parameters:
c
- - Calendar value- Returns:
- the corresponding Expression literal
-
literal
Create an Expression corresponding to a Date value.- Parameters:
d
- - Date value- Returns:
- the corresponding Expression literal
-
literal
Create an Expression corresponding to a character value.- Parameters:
character
- value- Returns:
- the corresponding Expression literal
-
literal
Create an Expression corresponding to an entity class.- Parameters:
cls
- - entity class- Returns:
- the corresponding Expression literal
-
literal
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
Specify use of a parameter of the given name.- Parameters:
parameter
- name- Returns:
- an Expression corresponding to a named parameter
-