public final class EclipseLinkJPQLGrammar2_4 extends AbstractJPQLGrammar
This JPQLGrammar
provides support for parsing JPQL queries defined in JSR-338 - Java Persistence 2.1 and the additional
support provided by EclipseLink 2.4.
select_statement ::= select_clause from_clause [where_clause] [groupby_clause] [having_clause] [orderby_clause] {union_clause}*
union_clause ::= { UNION | INTERSECT | EXCEPT} [ALL] subquery
from_clause ::= FROM identification_variable_declaration {, {identification_variable_declaration |
collection_member_declaration |
(subquery) |
table_variable_declaration }}*
range_variable_declaration ::= root_object [AS] identification_variable
root_object ::= abstract_schema_name | fully_qualified_class_name
table_variable_declaration ::= table_expression [AS] identification_variable
join ::= join_spec { abstract_schema_name | join_association_path_expression } [AS] identification_variable [join_condition]
functions_returning_datetime ::= cast_expression |
extract_expression |
...
functions_returning_string ::= cast_expression |
extract_expression |
...
functions_returning_numeric ::= cast_expression |
extract_expression |
...
simple_cond_expression ::= regexp_expression |
...
function_expression ::= { FUNC | FUNCTION | OPERATOR | SQL | COLUMN } (string_literal {, function_arg}*)
regexp_expression ::= string_expression REGEXP pattern_value
extract_expression ::= EXTRACT(date_part_literal [FROM] scalar_expression)
table_expression ::= TABLE(string_literal)
date_part_literal ::= { MICROSECOND | SECOND | MINUTE | HOUR | DAY | WEEK | MONTH | QUARTER |
YEAR | SECOND_MICROSECOND | MINUTE_MICROSECOND | MINUTE_SECOND |
HOUR_MICROSECOND | HOUR_SECOND | HOUR_MINUTE | DAY_MICROSECOND |
DAY_SECOND | DAY_MINUTE | DAY_HOUR | YEAR_MONTH, etc }
cast_expression ::= CAST(scalar_expression [AS] database_type)
database_type ::= data_type_literal [( [numeric_literal [, numeric_literal]] )]
data_type_literal ::= [CHAR, VARCHAR, NUMERIC, INTEGER, DATE, TIME, TIMESTAMP, etc]
Provisional API: This interface is part of an interim API that is still under development and expected to change significantly before reaching stability. It is available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.
Modifier and Type | Field and Description |
---|---|
static EclipseLinkVersion |
VERSION
The EclipseLink version, which is 2.4.
|
Constructor and Description |
---|
EclipseLinkJPQLGrammar2_4()
Creates a new
EclipseLinkJPQLGrammar2_4 . |
Modifier and Type | Method and Description |
---|---|
static void |
extend(AbstractJPQLGrammar jpqlGrammar)
Extends the given
JPQLGrammar with the information of this one without instantiating
the base JPQLGrammar . |
JPAVersion |
getJPAVersion()
Returns the
JPAVersion of the Java Persistence supported by this grammar. |
java.lang.String |
getProvider()
Returns the persistence provider name.
|
java.lang.String |
getProviderVersion()
Returns the version of the persistence provider.
|
static JPQLGrammar |
instance()
Returns the singleton instance of this class.
|
java.lang.String |
toString() |
addChildBNF, addChildFactory, addIdentifier, addIdentifiers, getBaseGrammar, getExpressionRegistry, setFallbackBNFId, setFallbackExpressionFactoryId, setHandleCollection, setHandleNestedArray, setHandleSubExpression
public static final EclipseLinkVersion VERSION
public EclipseLinkJPQLGrammar2_4()
EclipseLinkJPQLGrammar2_4
.public static void extend(AbstractJPQLGrammar jpqlGrammar)
JPQLGrammar
with the information of this one without instantiating
the base JPQLGrammar
.jpqlGrammar
- The JPQLGrammar
to extend with the content of this one without
instantiating the base JPQLGrammar
public static JPQLGrammar instance()
EclipseLinkJPQLGrammar2_4
public JPAVersion getJPAVersion()
JPAVersion
of the Java Persistence supported by this grammar.JPA version
supported by this grammarpublic java.lang.String getProvider()
null
should never be returnedpublic java.lang.String getProviderVersion()
public java.lang.String toString()
toString
in class java.lang.Object
EclipseLink 2.6.3, "build v20160428-59c81c5" API Reference