Class SqmDynamicInstantiation<T>
java.lang.Object
org.hibernate.query.sqm.tree.AbstractSqmNode
org.hibernate.query.sqm.tree.jpa.AbstractJpaTupleElement<T>
org.hibernate.query.sqm.tree.jpa.AbstractJpaSelection<T>
org.hibernate.query.sqm.tree.select.SqmDynamicInstantiation<T>
- All Implemented Interfaces:
CompoundSelection<T>
,Selection<T>
,TupleElement<T>
,Serializable
,JpaCompoundSelection<T>
,JpaCriteriaNode
,JpaSelection<T>
,JpaTupleElement<T>
,SqmAliasedExpressionContainer<SqmDynamicInstantiationArgument<?>>
,SqmSelectableNode<T>
,SqmExpressibleAccessor<T>
,SqmNode
,SqmTypedNode<T>
,SqmVisitableNode
public class SqmDynamicInstantiation<T>
extends AbstractJpaSelection<T>
implements SqmSelectableNode<T>, SqmAliasedExpressionContainer<SqmDynamicInstantiationArgument<?>>, JpaCompoundSelection<T>
Represents a dynamic instantiation (
select new XYZ(...) ...
) as part of the SQM.- See Also:
-
Method Summary
Modifier and TypeMethodDescription<X> X
accept
(SemanticQueryWalker<X> walker) Accept the walker per visitationadd
(SqmExpression<?> expression, String alias) void
add
(SqmDynamicInstantiationArgument<?> aliasExpression) void
addArgument
(SqmDynamicInstantiationArgument<?> argument) void
appendHqlString
(StringBuilder hql, SqmRenderContext context) boolean
checkInstantiation
(TypeConfiguration typeConfiguration) static <R> SqmDynamicInstantiation<R>
classInstantiation
(Class<R> targetJavaType, List<? extends SqmSelectableNode<?>> arguments, NodeBuilder nodeBuilder) copy
(SqmCopyContext context) static <R> SqmDynamicInstantiation<R>
forClassInstantiation
(JavaType<R> targetJavaType, NodeBuilder nodeBuilder) static <L extends List<?>>
SqmDynamicInstantiation<L>forListInstantiation
(JavaType<L> listJavaType, NodeBuilder nodeBuilder) static <M extends Map<?,
?>>
SqmDynamicInstantiation<M>forMapInstantiation
(JavaType<M> mapJavaType, NodeBuilder nodeBuilder) The Java type descriptor for this node.boolean
static <L extends List<?>>
SqmDynamicInstantiation<L>listInstantiation
(List<? extends SqmSelectableNode<?>> arguments, NodeBuilder nodeBuilder) static <M extends Map<?,
?>>
SqmDynamicInstantiation<M>mapInstantiation
(List<? extends SqmSelectableNode<?>> arguments, NodeBuilder nodeBuilder) void
visitSubSelectableNodes
(Consumer<SqmSelectableNode<?>> consumer) Visit each of this selectable's direct sub-selectables - used to support JPA'sSelection
model (which is really a "selectable", just poorly named and poorly definedMethods inherited from class org.hibernate.query.sqm.tree.jpa.AbstractJpaSelection
alias, isCompoundSelection
Methods inherited from class org.hibernate.query.sqm.tree.jpa.AbstractJpaTupleElement
copyTo, getAlias, getNodeType, setAlias, setExpressibleType
Methods inherited from class org.hibernate.query.sqm.tree.AbstractSqmNode
nodeBuilder
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.hibernate.query.criteria.JpaSelection
alias, getCompoundSelectionItems
Methods inherited from interface org.hibernate.query.criteria.JpaTupleElement
getJavaType, getJavaTypeName, isEnum
Methods inherited from interface jakarta.persistence.criteria.Selection
isCompoundSelection
Methods inherited from interface org.hibernate.query.sqm.tree.SqmNode
nodeBuilder
Methods inherited from interface org.hibernate.query.sqm.tree.select.SqmSelectableNode
getTupleLength
Methods inherited from interface org.hibernate.query.sqm.tree.SqmTypedNode
getExpressible, getNodeType
Methods inherited from interface org.hibernate.query.sqm.tree.SqmVisitableNode
toHqlString
Methods inherited from interface jakarta.persistence.TupleElement
getAlias
-
Method Details
-
forClassInstantiation
public static <R> SqmDynamicInstantiation<R> forClassInstantiation(JavaType<R> targetJavaType, NodeBuilder nodeBuilder) -
classInstantiation
public static <R> SqmDynamicInstantiation<R> classInstantiation(Class<R> targetJavaType, List<? extends SqmSelectableNode<?>> arguments, NodeBuilder nodeBuilder) -
forMapInstantiation
public static <M extends Map<?,?>> SqmDynamicInstantiation<M> forMapInstantiation(JavaType<M> mapJavaType, NodeBuilder nodeBuilder) -
mapInstantiation
public static <M extends Map<?,?>> SqmDynamicInstantiation<M> mapInstantiation(List<? extends SqmSelectableNode<?>> arguments, NodeBuilder nodeBuilder) -
forListInstantiation
public static <L extends List<?>> SqmDynamicInstantiation<L> forListInstantiation(JavaType<L> listJavaType, NodeBuilder nodeBuilder) -
listInstantiation
public static <L extends List<?>> SqmDynamicInstantiation<L> listInstantiation(List<? extends SqmSelectableNode<?>> arguments, NodeBuilder nodeBuilder) -
checkInstantiation
-
isFullyAliased
public boolean isFullyAliased() -
copy
- Specified by:
copy
in interfaceSqmNode
- Specified by:
copy
in interfaceSqmSelectableNode<T>
- Specified by:
copy
in interfaceSqmTypedNode<T>
-
getInstantiationTarget
-
getArguments
-
getJavaTypeDescriptor
- Specified by:
getJavaTypeDescriptor
in interfaceJpaTupleElement<T>
-
asLoggableText
- Specified by:
asLoggableText
in interfaceSqmNode
-
addArgument
-
add
- Specified by:
add
in interfaceSqmAliasedExpressionContainer<T>
-
add
- Specified by:
add
in interfaceSqmAliasedExpressionContainer<T>
-
accept
Description copied from interface:SqmVisitableNode
Accept the walker per visitation- Specified by:
accept
in interfaceSqmVisitableNode
-
appendHqlString
- Specified by:
appendHqlString
in interfaceSqmVisitableNode
-
makeShallowCopy
-
getNodeJavaType
Description copied from interface:SqmTypedNode
The Java type descriptor for this node.- Specified by:
getNodeJavaType
in interfaceSqmExpressibleAccessor<T>
- Specified by:
getNodeJavaType
in interfaceSqmTypedNode<T>
-
visitSubSelectableNodes
Description copied from interface:SqmSelectableNode
Visit each of this selectable's direct sub-selectables - used to support JPA'sSelection
model (which is really a "selectable", just poorly named and poorly defined- Specified by:
visitSubSelectableNodes
in interfaceSqmSelectableNode<T>
- See Also:
-
getSelectionItems
- Specified by:
getSelectionItems
in interfaceJpaSelection<T>
- Overrides:
getSelectionItems
in classAbstractJpaSelection<T>
-