Class EclipseLinkJPQLGrammar2_5

java.lang.Object
org.eclipse.persistence.jpa.jpql.parser.AbstractJPQLGrammar
org.eclipse.persistence.jpa.jpql.parser.EclipseLinkJPQLGrammar2_5
All Implemented Interfaces:
JPQLGrammar

public final class EclipseLinkJPQLGrammar2_5 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.5.

The BNFs of the additional support are the following:
 from_clause = FROM identification_variable_declaration {, {identification_variable_declaration | collection_member_declaration}}*
                    [hierarchical_query_clause]
                    [asof_clause]

 in_expression ::= { in_expression_expression | nested_array_expression } [NOT] IN { ( in_item {, in_item}* ) | (subquery) | ( nested_array_item {, nested_array_item}+ ) | collection_valued_input_parameter }

 in_expression_expression ::= { state_field_path_expression | type_discriminator |
                                single_valued_input_parameter | identification_variable |
                                scalar_expression }

 nested_array_expression ::= ( in_expression_expression {, in_expression_expression}+ )

 nested_array_item ::= ( in_item {, in_item}+ )

 hierarchical_query_clause ::= [start_with_clause] connectby_clause [order_siblings_by_clause]

 start_with_clause ::= START WITH conditional_expression

 connectby_clause ::= CONNECT BY { single_valued_object_path_expression | collection_valued_path_expression }

 order_siblings_by_clause ::= ORDER SIBLINGS BY orderby_item {, orderby_item}*

 asof_clause ::= AS OF { SCN | TIMESTAMP } scalar_expression

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.

Since:
2.5
Version:
2.5
  • Field Details

    • VERSION

      public static final EclipseLinkVersion VERSION
      The EclipseLink version, which is 2.5.
  • Constructor Details

    • EclipseLinkJPQLGrammar2_5

      public EclipseLinkJPQLGrammar2_5()
      Creates a new EclipseLinkJPQLGrammar2_5.
    • EclipseLinkJPQLGrammar2_5

      public EclipseLinkJPQLGrammar2_5(AbstractJPQLGrammar jpqlGrammar)
      Creates a new EclipseLinkJPQLGrammar2_5.
      Parameters:
      jpqlGrammar - The JPQLGrammar to extend with the content of this one without instantiating the base JPQLGrammar
  • Method Details