Class SqmJsonTableFunction.Columns
java.lang.Object
org.hibernate.query.sqm.tree.spi.expression.SqmJsonTableFunction.Columns
- All Implemented Interfaces:
Serializable, JpaCriteriaNode, JpaJsonTableColumnsNode, SqmCacheable, SqmExpressibleAccessor<Object>, SqmNode, SqmTypedNode<Object>, SqmVisitableNode
- Enclosing class:
SqmJsonTableFunction<T>
public static final class SqmJsonTableFunction.Columns
extends Object
implements SqmTypedNode<Object>, JpaJsonTableColumnsNode
- Since:
- 7.0
- See Also:
-
Field Summary
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription<X> Xaccept(SemanticQueryWalker<X> walker) Accept the walker per visitationvoidappendHqlString(StringBuilder hql, SqmRenderContext context) intconvertToSqlAst(SqmToSqlAstConverter walker) copy(SqmCopyContext context) org.hibernate.query.sqm.tuple.internal.AnonymousTupleType<?> booleanexistsColumn(String columnName) LikeJpaJsonTableColumnsNode.existsColumn(String, String), but uses the column name as JSON path expression.existsColumn(String columnName, String jsonPath) Defines a boolean column on the result type with the given name for which the value can be obtained by invokingjson_existswith the given JSON path.inthashCode()booleanisCompatible(Object object) Defines nested columns that are accessible by the given JSON path.ordinalityColumn(String columnName) Defines a long typed column on the result type with the given name which is set to the ordinality i.e.intpopulateTupleType(int offset, String[] componentNames, SqmExpressible<?>[] componentTypes) queryColumn(String columnName) LikeJpaJsonTableColumnsNode.queryColumn(String, String), but uses the column name as JSON path expression.queryColumn(String columnName, String jsonPath) Defines a string column on the result type with the given name for which the value can be obtained by invokingjson_querywith the given JSON path.<X> JpaJsonValueNode<X> valueColumn(String columnName, Class<X> type) LikeJpaJsonTableColumnsNode.valueColumn(String, Class, String)but uses the column name as JSON path expression.<X> JpaJsonValueNode<X> valueColumn(String columnName, Class<X> type, String jsonPath) Defines a column on the result type with the given name and type for which the value can be obtained by the given JSON path expression.<X> JpaJsonValueNode<X> valueColumn(String columnName, JpaCastTarget<X> type) LikeJpaJsonTableColumnsNode.valueColumn(String, Class, String)but uses the column name as JSON path expression.<X> JpaJsonValueNode<X> valueColumn(String columnName, JpaCastTarget<X> type, String jsonPath) Defines a column on the result type with the given name and type for which the value can be obtained by the given JSON path expression.Methods inherited from class Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface SqmNode
asLoggableTextMethods inherited from interface SqmTypedNode
getExpressible, getNodeJavaTypeMethods inherited from interface SqmVisitableNode
toHqlString
-
Constructor Details
-
Columns
-
-
Method Details
-
createTupleType
-
copy
- Specified by:
copyin interfaceSqmNode- Specified by:
copyin interfaceSqmTypedNode<Object>
-
populateTupleType
public int populateTupleType(int offset, @Nonnull String[] componentNames, @Nonnull SqmExpressible<?>[] componentTypes) -
convertToSqlAst
-
existsColumn
Description copied from interface:JpaJsonTableColumnsNodeLikeJpaJsonTableColumnsNode.existsColumn(String, String), but uses the column name as JSON path expression.- Specified by:
existsColumnin interfaceJpaJsonTableColumnsNode- Returns:
- The
JpaJsonExistsNodefor the column
-
existsColumn
@Nonnull public JpaJsonExistsNode existsColumn(@Nonnull String columnName, @Nullable String jsonPath) Description copied from interface:JpaJsonTableColumnsNodeDefines a boolean column on the result type with the given name for which the value can be obtained by invokingjson_existswith the given JSON path.- Specified by:
existsColumnin interfaceJpaJsonTableColumnsNode- Returns:
- The
JpaJsonExistsNodefor the column
-
queryColumn
Description copied from interface:JpaJsonTableColumnsNodeLikeJpaJsonTableColumnsNode.queryColumn(String, String), but uses the column name as JSON path expression.- Specified by:
queryColumnin interfaceJpaJsonTableColumnsNode- Returns:
- The
JpaJsonQueryNodefor the column
-
queryColumn
Description copied from interface:JpaJsonTableColumnsNodeDefines a string column on the result type with the given name for which the value can be obtained by invokingjson_querywith the given JSON path.- Specified by:
queryColumnin interfaceJpaJsonTableColumnsNode- Returns:
- The
JpaJsonQueryNodefor the column
-
valueColumn
@Nonnull public <X> JpaJsonValueNode<X> valueColumn(@Nonnull String columnName, @Nonnull Class<X> type) Description copied from interface:JpaJsonTableColumnsNodeLikeJpaJsonTableColumnsNode.valueColumn(String, Class, String)but uses the column name as JSON path expression.- Specified by:
valueColumnin interfaceJpaJsonTableColumnsNode- Returns:
- The
JpaJsonValueNodefor the column
-
valueColumn
@Nonnull public <X> JpaJsonValueNode<X> valueColumn(@Nonnull String columnName, @Nonnull Class<X> type, @Nullable String jsonPath) Description copied from interface:JpaJsonTableColumnsNodeDefines a column on the result type with the given name and type for which the value can be obtained by the given JSON path expression.- Specified by:
valueColumnin interfaceJpaJsonTableColumnsNode- Returns:
- The
JpaJsonValueNodefor the column
-
valueColumn
@Nonnull public <X> JpaJsonValueNode<X> valueColumn(@Nonnull String columnName, @Nonnull JpaCastTarget<X> type) Description copied from interface:JpaJsonTableColumnsNodeLikeJpaJsonTableColumnsNode.valueColumn(String, Class, String)but uses the column name as JSON path expression.- Specified by:
valueColumnin interfaceJpaJsonTableColumnsNode- Returns:
- The
JpaJsonValueNodefor the column
-
valueColumn
@Nonnull public <X> JpaJsonValueNode<X> valueColumn(@Nonnull String columnName, @Nonnull JpaCastTarget<X> type, @Nullable String jsonPath) Description copied from interface:JpaJsonTableColumnsNodeDefines a column on the result type with the given name and type for which the value can be obtained by the given JSON path expression.- Specified by:
valueColumnin interfaceJpaJsonTableColumnsNode- Returns:
- The
JpaJsonValueNodefor the column
-
nested
Description copied from interface:JpaJsonTableColumnsNodeDefines nested columns that are accessible by the given JSON path.- Specified by:
nestedin interfaceJpaJsonTableColumnsNode- Returns:
- a new columns node for the nested JSON path
-
ordinalityColumn
Description copied from interface:JpaJsonTableColumnsNodeDefines a long typed column on the result type with the given name which is set to the ordinality i.e. the 1-based position of the processed element. Ordinality starts again at 1 within nested paths.- Specified by:
ordinalityColumnin interfaceJpaJsonTableColumnsNode- Returns:
thisfor method chaining
-
accept
Description copied from interface:SqmVisitableNodeAccept the walker per visitation- Specified by:
acceptin interfaceSqmVisitableNode
-
getNodeType
- Specified by:
getNodeTypein interfaceSqmTypedNode<Object>
-
nodeBuilder
- Specified by:
nodeBuilderin interfaceSqmNode
-
appendHqlString
- Specified by:
appendHqlStringin interfaceSqmVisitableNode
-
equals
-
hashCode
-
isCompatible
- Specified by:
isCompatiblein interfaceSqmCacheable
-
cacheHashCode
public int cacheHashCode()- Specified by:
cacheHashCodein interfaceSqmCacheable
-