Top Description Interfaces Classes Enums
[default module]

Package org.hibernate.query.sqm.tree


This package contains the classes that make up the SQM tree nodes.

API Note

the choice to prefix all SQM tree node class names with Sqm was made to help make consumers easier to write. Consumers are likely to have classes with the same purpose in their AST (e.g. the notion of a "From". But if both projects define a class named From then the consumer would have to fully qualify one reference to distinguish. That makes for overly long code. Prefixing the names of classes helps alleviate that problem.

Interface Summary

Modifier and TypeInterface and Description
public interface
public interface
SqmDeleteOrUpdateStatement<T>

In some cases it is useful to be able to handle UPDATE or DELETE SQM trees using a single contract.

public interface
SqmDmlStatement<E>

Common extension of SqmStatement for DML (delete, update and insert-select) statements.

public interface
public interface
SqmNode

Base contract for any SQM AST node.

public interface
SqmQuery<T>

Commonality between a top-level statement and a sub-query

public interface
SqmStatement<T>

The basic SQM statement contract for top-level statements

public interface
SqmTypedNode<T>

Optional contract for SqmNode implementations which are typed

public interface
SqmVisitableNode

Optional contract for SqmNode implementations that can be visited by a SemanticQueryWalker.

Class Summary

Modifier and TypeClass and Description
public abstract class
public abstract class
AbstractSqmNode

Base implementation of a criteria node.

public abstract class
public abstract class

Enum Summary

Modifier and TypeEnum and Description
public enum
SqmJoinType

Represents a canonical join type.