public final class ComparisonExpression extends CompoundExpression
There is one exception to this rule: it is valid to compare numeric values for which the rules of numeric promotion apply. Conditional expressions attempting to compare non-like type values are disallowed except for this numeric case.
Note that the arithmetic operators and comparison operators are permitted to be applied to state-fields and input parameters of the wrapped Java class equivalents to the primitive numeric Java types. Two entities of the same abstract schema type are equal if and only if they have the same primary key value. Only equality/inequality comparisons over enumeration constants are required to be supported.
JPA 1.0 - BNF:
comparison_expression ::= string_expression comparison_operator {string_expression | all_or_any_expression} |
boolean_expression {=| <>} {boolean_expression | all_or_any_expression} |
enum_expression {=| <>} {enum_expression | all_or_any_expression} |
datetime_expression comparison_operator {datetime_expression | all_or_any_expression} |
entity_expression {=| <>} {entity_expression | all_or_any_expression} |
arithmetic_expression comparison_operator {arithmetic_expression | all_or_any_expression}
JPA 2.0 - BNF:
comparison_expression ::= string_expression comparison_operator {string_expression | all_or_any_expression} |
boolean_expression {=| <>} {boolean_expression | all_or_any_expression} |
enum_expression {=| <>} {enum_expression | all_or_any_expression} |
datetime_expression comparison_operator {datetime_expression | all_or_any_expression} |
entity_expression {=| <>} {entity_expression | all_or_any_expression} |
arithmetic_expression comparison_operator {arithmetic_expression | all_or_any_expression} |
entity_type_expression {=| <>} entity_type_expression}
COMMA, DOT, DOUBLE_QUOTE, LEFT_CURLY_BRACKET, LEFT_PARENTHESIS, NOT_DEFINED, RIGHT_CURLY_BRACKET, RIGHT_PARENTHESIS, SINGLE_QUOTE, SPACE, UNDERSCORE
ABS, ALL, AND, ANY, AS, AS_OF, ASC, AVG, BETWEEN, BIT_LENGTH, BOTH, CASE, CAST, CHAR_LENGTH, CHARACTER_LENGTH, CLASS, COALESCE, COLUMN, CONCAT, CONNECT_BY, COUNT, CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, DELETE, DELETE_FROM, DESC, DIFFERENT, DISTINCT, DIVISION, ELSE, EMPTY, END, ENTRY, EQUAL, ESCAPE, EXCEPT, EXISTS, EXTRACT, FALSE, FETCH, FIRST, FROM, FUNC, FUNCTION, GREATER_THAN, GREATER_THAN_OR_EQUAL, GROUP_BY, HAVING, IN, INDEX, INNER, INNER_JOIN, INNER_JOIN_FETCH, INTERSECT, IS, IS_EMPTY, IS_NOT_EMPTY, IS_NOT_NULL, IS_NULL, JOIN, JOIN_FETCH, KEY, LAST, LEADING, LEFT, LEFT_JOIN, LEFT_JOIN_FETCH, LEFT_OUTER_JOIN, LEFT_OUTER_JOIN_FETCH, LENGTH, LIKE, LOCATE, LOWER, LOWER_THAN, LOWER_THAN_OR_EQUAL, MAX, MEMBER, MEMBER_OF, MIN, MINUS, MOD, MULTIPLICATION, NAMED_PARAMETER, NEW, NOT, NOT_BETWEEN, NOT_EQUAL, NOT_EXISTS, NOT_IN, NOT_LIKE, NOT_MEMBER, NOT_MEMBER_OF, NULL, NULLIF, NULLS, NULLS_FIRST, NULLS_LAST, OBJECT, OF, ON, OPERATOR, OR, ORDER_BY, ORDER_SIBLINGS_BY, OUTER, PLUS, POSITION, POSITIONAL_PARAMETER, QUOTE, REGEXP, SCN, SELECT, SET, SIZE, SOME, SQL, SQRT, START_WITH, SUBSTRING, SUM, TABLE, THEN, TIMESTAMP, TRAILING, TREAT, TRIM, TRUE, TYPE, UNION, UNKNOWN, UPDATE, UPPER, VALUE, WHEN, WHERE
Constructor and Description |
---|
ComparisonExpression(AbstractExpression parent,
java.lang.String identifier)
Creates a new
ComparisonExpression . |
Modifier and Type | Method and Description |
---|---|
void |
accept(ExpressionVisitor visitor)
Visits this
Expression by the given visitor . |
java.lang.String |
getComparisonOperator()
Returns the comparison operator, which is either '=', '>', '>=', '<', '<=' or '<>'.
|
java.lang.String |
getLeftExpressionQueryBNFId()
Returns the unique identifier of the
JPQLQueryBNF for the left expression. |
JPQLQueryBNF |
getQueryBNF()
Returns the BNF of this
Expression . |
java.lang.String |
getRightExpressionQueryBNFId()
Returns the unique identifier of the
JPQLQueryBNF for the right expression. |
acceptChildren, findQueryBNF, getActualIdentifier, getIdentifier, getLeftExpression, getRightExpression, hasLeftExpression, hasRightExpression, hasSpaceAfterIdentifier
children, getGrammar, getIdentifierVersion, getLength, getOffset, getParent, getQueryBNF, getRoot, isAncestor, orderedChildren, populatePosition, toActualText, toParsedText, toString
public ComparisonExpression(AbstractExpression parent, java.lang.String identifier)
ComparisonExpression
.parent
- The parent of this expressionidentifier
- The comparator identifierpublic void accept(ExpressionVisitor visitor)
Expression
by the given visitor
.visitor
- The ExpressionVisitor
to visit this objectpublic java.lang.String getComparisonOperator()
public java.lang.String getLeftExpressionQueryBNFId()
JPQLQueryBNF
for the left expression.getLeftExpressionQueryBNFId
in class CompoundExpression
public JPQLQueryBNF getQueryBNF()
Expression
.JPQLQueryBNF
, which represents the grammar of this Expression
public java.lang.String getRightExpressionQueryBNFId()
JPQLQueryBNF
for the right expression.getRightExpressionQueryBNFId
in class CompoundExpression
EclipseLink 2.6.3, "build v20160428-59c81c5" API Reference