Top Description Constructors Methods
org.hibernate.query.hql.internal

public Class SqmTreeCreationHelper

extends Object
Class Inheritance
Imports
java.util.Locale, org.hibernate.grammars.hql.HqlParser, org.hibernate.jpa.spi.JpaCompliance, org.hibernate.query.hql.spi.SqmCreationProcessingState, .SqmPathRegistry, org.hibernate.query.sqm.SqmTreeCreationLogger, .StrictJpaComplianceViolation, org.hibernate.query.sqm.tree.SqmJoinType, org.hibernate.query.sqm.tree.from.SqmEntityJoin, .SqmRoot, org.antlr.v4.runtime.Token, org.antlr.v4.runtime.tree.ParseTree

Helper for dealing with SQM tree creation
Author
Steve Ebersole

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public static String
applyJpaCompliance(String text, SemanticQueryBuilder<?> sqmBuilder)

Handle JPA requirement that variables (aliases) be case-insensitive

public static String

Returns:

The specified alias, or null
extractAlias
(HqlParser.VariableContext ctx, SemanticQueryBuilder<?> sqmBuilder)

Extracts an alias ("identification variable")

public static String

Returns:

The specified alias, or null
extractJpaCompliantAlias
(HqlParser.VariableContext ctx, SemanticQueryBuilder<?> sqmBuilder)

Extracts an alias ("identification variable"), applying "JPA compliance" by lower-casing

public static String

Returns:

The specified alias, or null
extractVariable
(HqlParser.VariableContext ctx, SemanticQueryBuilder<?> sqmBuilder)

Extracts an "identification variable" (alias)

public static <E> void
handleRootAsCrossJoin(HqlParser.EntityWithJoinsContext entityWithJoinsContext, SqmRoot<?> sqmPrimaryRoot, SemanticQueryBuilder<?> sqmBuilder)

Handle secondary query roots using cross-join semantics.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Constructor Detail

SqmTreeCreationHelperback to summary
public SqmTreeCreationHelper()

Method Detail

applyJpaComplianceback to summary
public static String applyJpaCompliance(String text, SemanticQueryBuilder<?> sqmBuilder)

Handle JPA requirement that variables (aliases) be case-insensitive

extractAliasback to summary
public static String extractAlias(HqlParser.VariableContext ctx, SemanticQueryBuilder<?> sqmBuilder)

Extracts an alias ("identification variable")

Returns:String

The specified alias, or null

extractJpaCompliantAliasback to summary
public static String extractJpaCompliantAlias(HqlParser.VariableContext ctx, SemanticQueryBuilder<?> sqmBuilder)

Extracts an alias ("identification variable"), applying "JPA compliance" by lower-casing

Returns:String

The specified alias, or null

extractVariableback to summary
public static String extractVariable(HqlParser.VariableContext ctx, SemanticQueryBuilder<?> sqmBuilder)

Extracts an "identification variable" (alias)

Returns:String

The specified alias, or null

handleRootAsCrossJoinback to summary
public static <E> void handleRootAsCrossJoin(HqlParser.EntityWithJoinsContext entityWithJoinsContext, SqmRoot<?> sqmPrimaryRoot, SemanticQueryBuilder<?> sqmBuilder)

Handle secondary query roots using cross-join semantics.

API Note

Used when JPA compliance is enabled