Package org.eclipse.persistence.jpa.jpql.parser
This is the core of Hermes, this package contains the classes that can parse a JPQL query.
-
Interface Summary Interface Description EclipseLinkExpressionVisitor TheExpressionVisitor
that adds support for the additional JPQL identifiers supported by EclipseLink that is not defined in the JPA function specification.Expression This is the root interface of the parsed tree representation of a JPQL query.ExpressionVisitor This interface is used to traverse the JPQL parsed tree.JPQLGrammar A JPQL grammar defines how a JPQL query can be parsed. -
Class Summary Class Description AbsExpression The ABS function removes the minus sign from a specified argument and returns the absolute value, which is always a positive number or zero.AbsExpressionFactory ThisAbsExpressionFactory
creates a newAbsExpression
when the portion of the query to parse starts with ABS.AbstractConditionalClause Conditional expressions are composed of other conditional expressions, comparison operations, logical operations, path expressions that evaluate to boolean values, boolean literals, and boolean input parameters.AbstractDoubleEncapsulatedExpression ThisExpression
takes care of parsing an expression that encapsulates two expressions separated by a comma.AbstractEclipseLinkExpressionVisitor The abstract implementation ofEclipseLinkExpressionVisitor
.AbstractEclipseLinkTraverseChildrenVisitor ThisExpressionVisitor
traverses the entire hierarchy of the JPQL parsed tree by going down into each of the children of any givenExpression
.AbstractEclipseLinkTraverseParentVisitor ThisEclipseLinkExpressionVisitor
traverses up the hierarchy.AbstractEncapsulatedExpression This expression handles parsing the identifier followed by an expression encapsulated within parenthesis.AbstractExpression This is the abstract definition of all the parts used to create the tree hierarchy representing the parsed JPQL query.AbstractExpressionVisitor The abstract definition ofExpressionVisitor
, which implements all the methods but does nothing.AbstractFromClause The FROM clause of a query defines the domain of the query by declaring identification variables.AbstractJPQLGrammar The abstract definition of aJPQLGrammar
.AbstractLiteralExpressionFactory This factory is responsible to return the right literal expression.AbstractOrderByClause An ordering clause allows the objects or values that are returned by the query to be ordered.AbstractPathExpression An identification variable followed by the navigation operator (.) and a state field or association field is a path expression.AbstractSchemaName An abstract schema name designates the abstract schema type over which the query ranges.AbstractSchemaNameBNF The query BNF for an abstract schema name.AbstractSchemaNameFactory ThisAbstractSchemaNameFactory
creates a newAbstractSchemaName
.AbstractSelectClause The SELECT clause denotes the query result.AbstractSelectStatement A query is an operation that retrieves data from one or more tables or views.AbstractSingleEncapsulatedExpression This expression handles parsing a JPQL identifier followed by an expression encapsulated within parenthesis.AbstractTraverseChildrenVisitor ThisExpressionVisitor
traverses the entire hierarchy of the JPQL parsed tree by going down into each of the children of any givenExpression
.AbstractTraverseParentVisitor ThisExpressionVisitor
traverses up the hierarchy.AbstractTripleEncapsulatedExpression ThisExpression
takes care of parsing an expression that encapsulates three expressions separated by a comma.AdditionExpression One of the four binary operators.AggregateExpressionBNF The query BNF for an aggregate expression.AggregateFunction In the SELECT clause the result of a query may be the result of an aggregate function applied to a path expression.AllOrAnyExpression An ALL conditional expression is a predicate that istrue
if the comparison operation istrue
for all values in the result of the subquery or the result of the subquery is empty.AllOrAnyExpressionBNF The query BNF for an all or any expression.AllOrAnyExpressionFactory ThisAllOrAnyExpressionFactory
creates a newAllOrAnyExpression
when the portion of the query to parse starts with ALL, ANY or SOME.AndExpression The AND logical operator chains multiple criteria together.AndExpressionFactory ThisAndExpression
creates a newAdditionExpression
when the portion of the query to parse starts with AND.AnonymousExpressionVisitor This visitor allows a subclass to simply overrideAnonymousExpressionVisitor.visit(Expression)
and perform the same task for all visitedexpressions
.ArithmeticExpression This expression represents an arithmetic expression, which means the first and second expressions are aggregated with an arithmetic sign.ArithmeticExpressionBNF The query BNF for an arithmetic expression.ArithmeticExpressionFactory ThisExpressionFactory
creates a new expression when the portion of the query to parse starts with an arithmetic identifier.ArithmeticFactor This expression simply adds a plus or minus sign to the arithmetic primary expression.ArithmeticFactorBNF The query BNF for an arithmetic factor expression.ArithmeticPrimaryBNF The query BNF for an arithmetic primary expression.ArithmeticTermBNF The query BNF for an arithmetic term expression.AsOfClause AnAS OF
clause is part of a flashback query, which provides ways to view past states of database objects, or to return database objects to a previous state, without using traditional point-in-time recovery.AsOfClauseBNF The query BNF for theAS OF
clause.AsOfClauseFactory ThisAsOfClauseFactory
creates a newAsOfClause
when the portion of the JPQL query to parse starts with AS OF.AvgFunction One of the aggregate functions.AvgFunctionFactory ThisAvgFunctionFactory
creates a newAvgFunction
when the portion of the query to parse starts with AVG.BadExpression This wraps anotherExpression
that was correctly parsed by it is located in an invalid location within the JPQL query.BadExpressionBNF The query BNF used for an expression that is invalid.BadExpressionFactory ThisBadExpressionFactory
creates a newBadExpression
when the portion of the query to parse is malformed.BetweenExpression Used in conditional expression to determine whether the result of an expression falls within an inclusive range of values.BetweenExpressionBNF The query BNF for the between expression.BetweenExpressionFactory ThisBetweenExpressionFactory
creates a newBetweenExpression
when the portion of the query to parse starts with BETWEEN or NOT BETWEEN.BooleanExpressionBNF The query BNF for a boolean expression.BooleanLiteralBNF The query BNF for a boolean literal expression.BooleanPrimaryBNF The query BNF for a boolean primary expression.CaseExpression BNF:general_case_expression ::= CASE when_clause {when_clause}* ELSE scalar_expression END
or BNF:simple_case_expression ::= CASE case_operand simple_when_clause {simple_when_clause}* ELSE scalar_expression END
CaseExpressionBNF The query BNF for a case expression.CaseExpressionFactory ThisCaseExpressionFactory
creates a newCaseExpression
when the portion of the query to parse starts with CASE.CaseOperandBNF The query BNF for the case operand specified in the case expression.CastExpression The CAST function cast value to a different type.CastExpressionBNF The query BNF for the CAST function.CastExpressionFactory ThisCastExpressionFactory
creates a newCastExpression
when the portion of the query to parse starts with CAST.CoalesceExpression A COALESCE expression returnsnull
if all its arguments evaluate tonull
, and the value of the first non-null
argument otherwise.CoalesceExpressionBNF The query BNF for a coalesce expression.CoalesceExpressionFactory ThisCoalesceExpressionFactory
creates a newCoalesceExpression
when the portion of the query to parse starts with COALESCE.CollectionExpression ACollectionExpression
wraps many expression which they are separated by spaces and/or commas.CollectionMemberDeclaration An identification variable declared by a collection member declaration ranges over values of a collection obtained by navigation using a path expression.CollectionMemberDeclarationBNF The query BNF for a collection member declaration expression.CollectionMemberDeclarationFactory ThisCollectionMemberDeclarationFactory
creates a newCollectionMemberDeclaration
when the portion of the query to parse starts with IN.CollectionMemberExpression This expression tests whether the designated value is a member of the collection specified by the collection-valued path expression.CollectionMemberExpressionBNF The query BNF for a collection member expression.CollectionMemberExpressionFactory ThisCollectionMemberExpressionFactory
creates a newCollectionMemberExpression
when the portion of the query to parse starts with MEMBER, MEMBER OF, NOT MEMBER or NOT MEMBER OF.CollectionValuedPathExpression Acollection_valued_field
is designated by the name of an association field in a one-to-many or a many-to-many relationship or by the name of an element collection field.CollectionValuedPathExpressionBNF The query BNF for a collection-valued path expression.CollectionValuedPathExpressionFactory ComparisonExpression Only the values of like types are permitted to be compared.ComparisonExpressionBNF The query BNF for a comparison expression.ComparisonExpressionFactory ThisComparisonExpressionFactory
creates a newComparisonExpression
when the portion of the query to parse starts with <, >, <>, <=, >= or =.CompoundExpression A compound expression has a left and right expressions combined by an identifier.ConcatExpression The CONCAT function returns a string that is a concatenation of its arguments.ConcatExpressionFactory ThisConcatExpressionFactory
creates a newConcatExpression
when the portion of the query to parse starts with CONCAT.ConditionalExpressionBNF The query BNF for a conditional expression.ConditionalFactorBNF The query BNF for a conditional factor expression.ConditionalPrimaryBNF The query BNF for a conditional primary expression.ConditionalTermBNF The query BNF for a conditional term expression.ConnectByClause The CONNECT BY clause allows selecting rows in a hierarchical order using the hierarchical query clause.ConnectByClauseBNF The query BNF for aCONNECT BY
clause.ConnectByClauseFactory ThisConnectByClauseFactory
creates a newConnectByClause
when the portion of the query to parse starts with CONNECT BY.ConstructorExpression In the SELECT clause a constructor may be used in the SELECT list to return one or more Java instances.ConstructorExpressionBNF The query BNF for a constructor expression.ConstructorExpressionFactory ThisConstructorExpressionFactory
creates a newConstructorExpression
when the portion of the query to parse starts with NEW.ConstructorItemBNF The query BNF for a constructor item expression.CountFunction One of the aggregate functions.CountFunctionFactory ThisCountFunctionFactory
creates a newCountFunction
when the portion of the query to parse starts with COUNT.DatabaseType This expression represents the database specific data type, which may include size and scale.DatabaseTypeFactory DatabaseTypeQueryBNF The query BNF for the database type.DateTime ThisExpression
represents a date or time.DatetimeExpressionBNF The query BNF for a date/time expression.DateTimeFactory ThisDateTimeFactory
creates a newDateTime
when the portion of the query to parse starts with CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP or with the JDBC escape format used for date/time/timestamp.DateTimePrimaryBNF The query BNF for a date/time primary expression.DateTimeTimestampLiteralBNF The query BNF for a date/time/timestamp expression.DefaultEclipseLinkJPQLGrammar ThisJPQL grammar
provides support for parsing JPQL queries defined by the JPA 2.1 functional specification and the EclipseLink 2.6.DefaultJPQLGrammar ThisJPQL grammar
provides support for parsing JPQL queries defined in the latest JPA functional specification.DefaultStringExpression An implementation of anExpression
that wraps a string.DeleteClause This is the delete clause of the delete statement.DeleteClauseBNF The query BNF for the delete clause.DeleteClauseFactory ThisDeleteClauseFactory
creates a newDeleteClause
when the portion of the query to parse starts with DELETE FROM.DeleteClauseRangeVariableDeclarationBNF The query BNF for a range variable declaration expression used by the DELETE clause, which accepts collection and aggregate expression, which is used by invalid queries.DeleteStatement Bulk delete operation apply to entities of a single entity class (together with its subclasses, if any).DeleteStatementBNF The query BNF for the delete statement.DeleteStatementFactory ThisDeleteStatementFactory
creates a newDeleteStatement
when the portion of the query to parse starts with DELETE FROM.DerivedCollectionMemberDeclarationBNF The query BNF for a derived collection member declaration expression.DivisionExpression One of the four binary operators.EclipseLinkAnonymousExpressionVisitor This visitor allows a subclass to simply overrideAnonymousExpressionVisitor.visit(Expression)
and perform the same task for all visitedexpressions
including those defined by EclipseLink.EclipseLinkJPQLGrammar1 ThisJPQL grammar
provides support for parsing JPQL queries defined in JSR-220 - Enterprise JavaBeans 3.0.EclipseLinkJPQLGrammar2_0 ThisJPQLGrammar
provides support for parsing JPQL queries defined in JSR-337 - Java Persistence 2.0.EclipseLinkJPQLGrammar2_1 ThisJPQLGrammar
provides support for parsing JPQL queries defined in JSR-337 - Java Persistence 2.0 and the additional support provided by EclipseLink 2.1.EclipseLinkJPQLGrammar2_2 ThisJPQLGrammar
provides support for parsing JPQL queries defined in JSR-337 - Java Persistence 2.0.EclipseLinkJPQLGrammar2_3 ThisJPQLGrammar
provides support for parsing JPQL queries defined in JSR-337 - Java Persistence 2.0.EclipseLinkJPQLGrammar2_4 ThisJPQLGrammar
provides support for parsing JPQL queries defined in JSR-338 - Java Persistence 2.1 and the additional support provided by EclipseLink 2.4.EclipseLinkJPQLGrammar2_5 ThisJPQLGrammar
provides support for parsing JPQL queries defined in JSR-338 - Java Persistence 2.1 and the additional support provided by EclipseLink 2.5.EclipseLinkJPQLGrammar2_6 ThisJPQLGrammar
provides support for parsing JPQL queries defined in JSR-338 - Java Persistence 2.1 and the additional support provided by EclipseLink 2.6.ElseExpressionBNF The query BNF for a else expression specified in the case expression.EmptyCollectionComparisonExpression This expression tests whether or not the collection designated by the collection-valued path expression is empty (i.e, has no elements).EmptyCollectionComparisonExpressionBNF The query BNF for an empty collection comparison expression.EncapsulatedIdentificationVariableExpression ThisExpression
represents an identification variable that maps aMap
property, either the key, the value or aMap.Entry
).EntityExpressionBNF The query BNF for a entity expression.EntityOrValueExpressionBNF The query BNF for a entity or value expression.EntityTypeExpressionBNF The query BNF for the TYPE expression.EntityTypeLiteral ThisExpression
wraps the name of an entity type.EntityTypeLiteralBNF The query BNF for the entity type literal.EntityTypeLiteralFactory This factory creates anEntityTypeLiteral
, which wraps an entity name.EntryExpression An identification variable qualified by theENTRY
operator is a path expression.EntryExpressionFactory ThisEntryExpressionFactory
creates a newEntryExpression
when the portion of the query to parse starts with ENTRY.EnumExpressionBNF The query BNF for a enum expression.EnumLiteralBNF The query BNF for an enumeration constant expression.EnumPrimaryBNF The query BNF for an enum primary expression.ExistsExpression An EXISTS expression is a predicate that istrue
only if the result of the subquery consists of one or more values and that isfalse
otherwise.ExistsExpressionBNF The query BNF for the exists expression.ExistsExpressionFactory ThisExistsExpressionFactory
creates a newExistsExpression
when the portion of the query to parse starts with EXISTS.ExpressionFactory AnExpressionFactory
is responsible to parse a portion of JPQL query which starts with one of the factory's JPQL identifiers.ExpressionRegistry This registry contains the necessary information used by Hermes parser.ExpressionVisitorWrapper ThisExpressionVisitor
wraps anotherExpressionVisitor
and delegates all its calls to it (the delegate).ExtractExpression The EXTRACT function extracts a date part from a date/time value.ExtractExpressionBNF The query BNF for theEXTRACT
function.ExtractExpressionFactory ThisExtractExpressionFactory
creates a newExtractExpression
when the portion of the query to parse starts with EXTRACT.FromClause The FROM clause of a query defines the domain of the query by declaring identification variables.FromClauseBNF The query BNF for the from clause.FromClauseFactory ThisFromClauseFactory
creates a newFromClause
when the portion of the query to parse starts with FROM.FullyQualifyPathExpressionVisitor This visitor makes sure that all path expressions are fully qualified with a "virtual" identification variable if the range variable declaration does not define one.FunctionExpression This expression adds support to call native database functions.FunctionExpressionBNF The query BNF for the EclipseLink's function expression.FunctionExpressionFactory ThisFunctionExpressionFactory
creates a newFunctionExpression
when the portion of the query to parse starts with an identifier related to a SQL function.FunctionItemBNF The query BNF for the parameters of a function expression.FunctionsReturningDatetimeBNF The query BNF for a function expression returning a date/time value.FunctionsReturningNumericsBNF The query BNF for a function expression returning a numeric value.FunctionsReturningStringsBNF The query BNF for a function expression returning a string value.GeneralCaseExpressionBNF The query BNF for a general case expression.GeneralIdentificationExpressionFactory ThisValueExpressionFactory
creates a general identification variable, which is either with the identifier KEY or VALUE and then checks the existence of a path expression.GeneralIdentificationVariableBNF The query BNF for a general identification variable expression.GenericQueryBNF A genericJPQLQueryBNF
can be used to manually create a new BNF without having to create a concrete instance.GroupByClause The GROUP BY construct enables the aggregation of values according to the properties of an entity class.GroupByClauseBNF The query BNF for the group by clause.GroupByClauseFactory ThisGroupByClauseFactory
creates a newGroupByClause
when the portion of the query to parse starts with GROUP BY.GroupByItemBNF The query BNF for a group by item expression.GroupByItemFactory ThisGroupByItemFactory
is responsible to return the right expression and to support invalid expression as well.HavingClause The HAVING construct enables conditions to be specified that further restrict the query result as restrictions upon the groups.HavingClauseBNF The query BNF for the having clause.HavingClauseFactory ThisHavingClauseFactory
creates a newHavingClause
when the portion of the query to parse starts with HAVING.HierarchicalQueryClause If a table contains hierarchical data, then rows can be selected in a hierarchical order using the hierarchical query clause.HierarchicalQueryClauseBNF HierarchicalQueryClauseFactory ThisHierarchicalQueryClauseFactory
creates a newHierarchicalQueryClause
when the portion of the query to parse starts with eitherVERSIONS
orAS OF
.IdentificationVariable An identification variable is a valid identifier declared in the FROM clause of a query.IdentificationVariableBNF The query BNF for an identification variable expression.IdentificationVariableDeclaration An identification variable is a valid identifier declared in the FROM clause of a query.IdentificationVariableDeclarationBNF The query BNF for an identification variable declaration expression.IdentificationVariableDeclarationFactory ThisIdentificationVariableDeclarationFactory
handles parsing the JPQL fragment within theFROM
clause.IdentificationVariableFactory ThisIdentificationVariableFactory
creates a newIdentificationVariable
.IndexExpression The INDEX function returns an integer value corresponding to the position of its argument in an ordered list.IndexExpressionFactory ThisIndexExpressionFactory
creates a newIndexExpression
when the portion of the query to parse starts with INDEX.InExpression The state field path expression must have a string, numeric, or enum value.InExpressionBNF The query BNF for an in expression.InExpressionExpressionBNF The query BNF describes the expression being tested by theIN
expression.InExpressionFactory ThisInExpressionFactory
creates a newInExpression
when the portion of the query to parse starts with IN or NOT IN.InExpressionItemBNF The query BNF for the items of an IN expression.InputParameter Either positional or named parameters may be used.InputParameterBNF The query BNF for a input parameter.InternalAggregateFunctionBNF The query BNF for the parameter of an aggregate expression.InternalBetweenExpressionBNF The query BNF for the lower and upper expressions defined in the between expression.InternalCoalesceExpressionBNF The query BNF for the parameters defined in the coalesce expression.InternalColumnExpressionBNF The query BNF for the items of a COLUMN expression.InternalConcatExpressionBNF The query BNF for the COUNT expression's encapsulated expressions.InternalConnectByClauseBNF InternalCountBNF The query BNF for the parameter of the COUNT function.InternalEntityTypeExpressionBNF The query BNF for the parameters defined in the type expression.InternalFromClauseBNF The query BNF for theFROM
declaration, basically what follows theFROM
identifier.InternalJoinBNF The query BNF for what's following the join identifier.InternalLengthExpressionBNF The query BNF for the parameter of theLENGTH
expression.InternalLocateStringExpressionBNF The query BNF for the first two parameters of theLOCATE
expression.InternalLocateThirdExpressionBNF The query BNF for the third parameter of theLOCATE
expression.InternalLowerExpressionBNF The query BNF for the parameter of theLOWER
expression.InternalModExpressionBNF The query BNF for the parameters of theMOD
expression.InternalOrderByClauseBNF The query BNF for what's following the order by identifier.InternalOrderByItemBNF The query BNF for an order by item.InternalOrderByItemFactory ThisInternalOrderByItemFactory
creates either aStateFieldPathExpression
or anIdentificationVariable
.InternalSelectExpressionBNF InternalSimpleFromClauseBNF The query BNF for the from declaration used in a subquery.InternalSimpleSelectExpressionBNF InternalSqrtExpressionBNF The query BNF for the parameter of theSQRT
expression.InternalSubstringPositionExpressionBNF The query BNF for the position parameters of theSUBSTRING
expression.InternalSubstringStringExpressionBNF The query BNF for the parameter of theLENGTH
expression.InternalUpdateClauseBNF The query BNF for what's following the update identifier.InternalUpperExpressionBNF The query BNF for the parameter of theUPPER
expression.InternalWhenClauseBNF The query BNF for the expression following the WHEN identifier.IsExpressionFactory ThisIsExpressionFactory
creates a new expression when the portion of the query to parse starts with IS.Join A JOIN enables the fetching of an association as a side effect of the execution of a query.JoinAssociationPathExpressionBNF The query BNF for a join association path expression.JoinBNF The query BNF for the join expression.JoinCollectionValuedPathExpressionFactory JoinFactory ThisJoinFactory
creates a newJoin
when the portion of the query to parse starts with JOIN or FETCH JOIN, respectively.JoinFetchBNF The query BNF for the fetch join expression.JPQLExpression AJPQLExpression
is the root of the parsed tree representation of a JPQL query.JPQLGrammar1_0 ThisJPQLGrammar
provides support for parsing JPQL queries defined in JSR-220 - Enterprise JavaBeans 3.0.JPQLGrammar2_0 ThisJPQLGrammar
provides support for parsing JPQL queries defined in JSR-337 - Java Persistence 2.0.JPQLGrammar2_1 ThisJPQLGrammar
provides support for parsing JPQL queries defined in JSR-338 - Java Persistence 2.1.JPQLQueryBNF This defines a single Backus-Naur Form (BNF) of the JPQL grammar.JPQLStatementBNF The query BNF for the JPQL expression.KeyExpression An identification variable qualified by theKEY
operator is a path expression.KeyExpressionFactory ThisKeyExpressionFactory
creates a newKeyExpression
when the portion of the query to parse starts with KEY.KeywordExpression The expression representing some keywords:TRUE
,FALSE
orNULL
.KeywordExpressionFactory ThisKeywordExpressionFactory
creates a newKeywordExpression
when the portion of the JPQL query to parse isFALSE
,TRUE
orNULL
.LengthExpression The LENGTH function returns the length of the string in characters as an integer.LengthExpressionFactory ThisLengthExpressionFactory
creates a newLengthExpression
when the portion of the query to parse starts with LENGTH.LikeExpression The LIKE condition is used to specify a search for a pattern.LikeExpressionBNF The query BNF for a expression.LikeExpressionEscapeCharacterBNF This BNF is used when parsing an invalid fragment or to extend the default grammar.LikeExpressionFactory ThisLikeExpressionFactory
creates a newLikeExpression
when the portion of the query to parse starts with LIKE or NOT LIKE.LiteralBNF The query BNF for literals, which is based on the listing defined in section 4.6.1 of the Java Specification document for JPA 2.0.LiteralExpressionFactory ThisLiteralExpressionFactory
is responsible to return the right literal expression.LocateExpression The LOCATE function returns the position of a given string within a string, starting the search at a specified position.LocateExpressionFactory ThisLocateExpressionFactory
creates a newLocateExpression
when the portion of the query to parse starts with LOCATE.LogicalExpression This expression represents a logical expression, which means the first and second expressions are aggregated with either AND or OR.LowerExpression The LOWER function converts a string to lower case and it returns a string.LowerExpressionFactory ThisLowerExpressionFactory
creates a newLowerExpression
when the portion of the query to parse starts with LOWER.MaxFunction One of the aggregate functions.MaxFunctionFactory ThisMaxFunctionFactory
creates a newMaxFunction
when the portion of the query to parse starts with MAX.MinFunction One of the aggregate functions.MinFunctionFactory ThisMinFunctionFactory
creates a newMinFunction
when the portion of the query to parse starts with MIN.ModExpression The modulo operation finds the remainder of division of one number by another.ModExpressionFactory ThisModExpressionFactory
creates a newModExpression
when the portion of the query to parse starts with MOD.MultiplicationExpression One of the four binary operators.NewValueBNF The query BNF for a new value expression.NotExpression BNF:expression ::= NOT conditional_primary
NotExpressionFactory ThisNotExpressionFactory
creates a newNotExpression
when the portion of the query to parse starts with NOT.NullComparisonExpression A null comparison tests whether or not the single-valued path expression or input parameter is a NULL value.NullComparisonExpressionBNF The query BNF for a null comparison expression.NullExpression Anull
Expression
is used instead of a truenull
, which allows operations to be performed without doing anull
check first.NullIfExpression NULLIF returns the first expression if the two expressions are not equal.NullIfExpressionBNF The query BNF for a nullif expression.NullIfExpressionFactory ThisNullIfExpressionFactory
creates a newNullIfExpression
when the portion of the query to parse starts with NULLIF.NumericLiteral Exact numeric literals support the use of Java integer literal syntax as well as SQL exact numeric literal syntax.NumericLiteralBNF The query BNF for a numeric literal.ObjectExpression Stand-alone identification variables in the SELECT clause may optionally be qualified by the OBJECT operator.ObjectExpressionBNF The query BNF for an object expression.ObjectExpressionFactory ThisObjectExpressionFactory
creates a newObjectExpression
when the portion of the query to parse starts with OBJECT.OnClause Returns an expression that allows a join ON clause to be defined.OnClauseBNF The query BNF for the on clause.OnClauseFactory ThisOnClauseFactory
creates a newOnClause
when the portion of the query to parse starts with ON.OrderByClause The ORDER BY clause allows the objects or values that are returned by the query to be ordered.OrderByClauseBNF The query BNF for the order by clause.OrderByClauseFactory ThisOrderByClauseFactory
creates a newOrderByClause
when the portion of the query to parse starts with ORDER BY.OrderByItem An orderby_item must be one of the following: Astate_field_path_expression
that evaluates to an orderable state field of an entity or embeddable class abstract schema type designated in the SELECT clause by one of the following: A general_identification_variable A single_valued_object_path_expression Astate_field_path_expression
that evaluates to the same state field of the same entity or embeddable abstract schema type as astate_field_path_expression
in the SELECT clause Aresult_variable
that refers to an orderable item in the SELECT clause for which the sameresult_variable
has been specified.OrderByItemBNF The query BNF for the order by item expression.OrderByItemFactory ThisOrderByItemFactory
creates a newOrderByItem
.OrderSiblingsByClause In a hierarchical query, if the rows of siblings of the same parent need to be ordered, then theORDER SIBLINGS BY
clause should be used.OrderSiblingsByClauseBNF The query BNF for the order siblings by clause.OrderSiblingsByClauseFactory ThisOrderSiblingsByClauseFactory
creates a newOrderSiblingsByClause
when the portion of the query to parse starts with ORDER SIBLINGS BY.OrExpression The OR logical operator chains multiple criteria together.OrExpressionFactory ThisOrExpressionFactory
creates a newOrExpression
when the portion of the query to parse starts with OR.PatternValueBNF The query BNF for a pattern value.QualifiedIdentificationVariableBNF The query BNF for a qualified identification variable expression.QueryPosition This object contains the cursor position within the parsed tree and within each of theExpression
from the root to the deepest leaf.RangeDeclarationBNF RangeDeclarationFactory RangeVariableDeclaration Range variable declarations allow the developer to designate a "root" for objects which may not be reachable by navigation.RangeVariableDeclarationBNF The query BNF for a range variable declaration expression.RangeVariableDeclarationFactory ThisRangeVariableDeclaration
creates a newRangeVariableDeclaration
.RegexpExpression The REGEXP condition is used to specify a search for a pattern.RegexpExpressionBNF The query BNF for a REGEXP expression.RegexpExpressionFactory ThisRegexpExpressionFactory
creates a newRegexpExpression
when the portion of the query to parse starts with REGEXP.ResultVariable A result variable may be used to name a select item in the query result.ResultVariableBNF The query BNF for a result variable expression.ResultVariableFactory ThisResultVariableFactory
creates a newResultVariable
when the portion of the query to parse starts with or without AS.ScalarExpressionBNF The query BNF for a scalar expression.SelectClause The SELECT clause queries data from entities.SelectClauseBNF The query BNF for the select clause.SelectClauseFactory ThisSelectClauseFactory
creates a newSelectClause
when the portion of the query to parse starts with SELECT.SelectExpressionBNF The query BNF for a select expression.SelectStatement ASELECT
query is an operation that retrieves data from one or more tables or views.SelectStatementBNF The query BNF for the select statement.SelectStatementFactory ThisSelectStatementFactory
creates a newSelectStatement
when the portion of the query to parse starts with SELECT.SimpleArithmeticExpressionBNF The query BNF for a simple arithmetic expression.SimpleCaseExpressionBNF The query BNF for a simple case expression.SimpleConditionalExpressionBNF The query BNF for a simple conditional expression.SimpleEntityExpressionBNF The query BNF for a simple entity expression.SimpleEntityOrValueExpressionBNF The query BNF for a simple entity or value expression.SimpleFromClause The FROM clause of a query defines the domain of the query by declaring identification variables.SimpleResultVariableBNF The query BNF for a result variable expression.SimpleSelectClause The SELECT statement queries data from entities.SimpleSelectClauseBNF The query BNF for the simple select clause.SimpleSelectExpressionBNF The query BNF for a simple select expression.SimpleSelectStatement BNFLsubquery ::= simple_select_clause subquery_from_clause [where_clause] [groupby_clause] [having_clause]
SimpleSelectStatementFactory ThisSimpleSelectStatementFactory
creates a newSimpleSelectStatement
when the portion of the query to parse starts with SELECT.SingleValuedObjectPathExpressionBNF The query BNF for a simple valued object path expression.SingleValuedPathExpressionBNF The query BNF for a single valued path expression.SizeExpression The SIZE function returns an integer value, the number of elements of the collection.SizeExpressionFactory ThisSizeExpressionFactory
creates a newSizeExpression
when the portion of the query to parse starts with SIZE.SqrtExpression The SQRT function takes a numeric argument and returns a double.SqrtExpressionFactory ThisSqrtExpressionFactory
creates a newSqrtExpression
when the portion of the query to parse starts with SQRT.StartWithClause ASTART WITH
clause is optional and specifies the root row(s) of the hierarchy.StartWithClauseBNF The query BNF for theSTART WITH
clause.StartWithClauseFactory ThisStartWithClauseFactory
creates a newStartWithClause
when the portion of the query to parse starts with START WITH.StateFieldPathExpression Asingle_valued_association_field
is designated by the name of an association-field in a one-to-one or many-to-one relationship.StateFieldPathExpressionBNF The query BNF for a state field path expression.StateFieldPathExpressionFactory ThisStateFieldPathExpressionFactory
is meant to handle the parsing of a portion of the query when it's expected to be a state field path.StringExpressionBNF The query BNF for a string expression.StringLiteral A string literal is enclosed in single quotes.StringLiteralBNF The query BNF for a string literal.StringLiteralFactory ThisStringLiteralFactory
is responsible to parse a sub-query starting with a single quote.StringPrimaryBNF The query BNF for a string primary expression.SubExpression This expression wraps a sub-expression within parenthesis.SubqueryBNF The query BNF for a subquery expression.SubqueryFromClauseBNF The query BNF for the from clause defined in a subquery.SubSelectIdentificationVariableDeclarationBNF The query BNF for an identification variable declaration expression defined in a sub-select expression.SubstringExpression The second and third arguments of the SUBSTRING function denote the starting position and length of the substring to be returned.SubstringExpressionFactory ThisSubstringExpressionFactory
creates a newSubstringExpression
when the portion of the query to parse starts with SUBSTRING.SubtractionExpression One of the four binary operators.SumFunction One of the aggregate functions.SumFunctionFactory ThisSumFunctionFactory
creates a newSumFunction
when the portion of the query to parse starts with SUM.TableExpression Defines a table expression.TableExpressionBNF The query BNF for a table expression.TableExpressionFactory ThisTableExpressionFactory
creates a newTableExpression
.TableVariableDeclaration Defines a table expression.TableVariableDeclarationBNF The query BNF for a table declaration.TableVariableDeclarationFactory ThisTableVariableDeclarationFactory
creates a newTableVariableDeclaration
.TreatExpression Returns an expression that allows to treat its base as if it were a subclass of the class returned by the base.TreatExpressionBNF The query BNF for aTREAT
expression.TreatExpressionFactory ThisTreatExpressionFactory
creates a newTreatExpression
when the portion of the query to parse starts with TREAT.TrimExpression The TRIM function trims the specified character from a string.TrimExpressionFactory ThisTrimExpressionFactory
creates a newTrimExpression
when the portion of the query to parse starts with TRIM.TypeExpression An entity type expression can be used to restrict query polymorphism.TypeExpressionBNF The query BNF for a type expression.TypeExpressionFactory ThisTypeExpressionFactory
creates a newTypeExpression
when the portion of the query to parse starts with TYPE.UnionClause The UNION clause allows the results of two queries to be combined.UnionClauseBNF The query BNF for the order by clause.UnionClauseFactory ThisUnionClauseFactory
creates a newUnionClause
when the portion of the query to parse starts with UNION,INTERSECT
orEXCEPT
.UnknownExpression This expression contains a portion of the query that is unknown to the parser.UnknownExpressionFactory ThisUnknownExpressionFactory
creates a newUnknownExpression
when the portion of the query to parse is unknown.UpdateClause This is the update clause of the update statement.UpdateClauseBNF The query BNF for the update clause.UpdateClauseFactory ThisUpdateClauseFactory
creates a newUpdateClause
when the portion of the query to parse starts with UPDATE.UpdateItem Thenew_value
specified for an update operation must be compatible in type with the field to which it is assigned.UpdateItemBNF The query BNF for the update item expression.UpdateItemFactory ThisUpdateItemFactory
creates a newUpdateItem
.UpdateItemStateFieldPathExpressionBNF The query BNF for a state field path expression used in an update item.UpdateItemStateFieldPathExpressionFactory ThisUpdateItemStateFieldPathExpressionFactory
is meant to handle the parsing of a portion of the query when it's expected to be a state field path.UpdateStatement The UPDATE clause of a query consists of a conditional expression used to select objects or values that satisfy the expression.UpdateStatementBNF The query BNF for the update statement.UpdateStatementFactory ThisUpdateStatementFactory
creates a newUpdateStatement
when the portion of the query to parse starts with UPDATE.UpperExpression The UPPER function converts a string to upper case and it returns a string.UpperExpressionFactory ThisUpperExpressionFactory
creates a newUpperExpression
when the portion of the query to parse starts with UPPER.ValueExpression An identification variable qualified by theVALUE
operator is a path expression.ValueExpressionFactory ThisValueExpressionFactory
creates a newValueExpression
when the portion of the query to parse starts with VALUE.VirtualJPQLQueryBNF ThisJPQLQueryBNF
can be used as a virtual BNF, which can wrap another BNF or BNFs and modify the default behavior.WhenClause A WHEN predicate is used to calculate a condition and when it's true, its THEN will be executed.WhenClauseBNF The query BNF for the when clause of the case expression.WhenClauseFactory ThisWhenClauseFactory
creates a newWhenClause
when the portion of the query to parse starts with WHEN.WhereClause The WHERE clause of a query consists of a conditional expression used to select objects or values that satisfy the expression.WhereClauseBNF The query BNF for the where clause.WhereClauseFactory ThisWhereClauseFactory
creates a newWhereClause
when the portion of the query to parse starts with WHERE. -
Enum Summary Enum Description FunctionExpressionFactory.ParameterCount The number of parameters aFunctionExpression
can have.IdentifierRole A role describes the purpose of the JPQL identifier.OrderByItem.NullOrdering This enumeration lists all the possible choices for ordering nulls in an item.OrderByItem.Ordering This enumeration lists all the possible choices for ordering an item.TrimExpression.Specification The possible ways to trim the string.