Class SqmJsonTableFunction.Columns
java.lang.Object
org.hibernate.query.sqm.tree.expression.SqmJsonTableFunction.Columns
- All Implemented Interfaces:
Serializable,JpaCriteriaNode,JpaJsonTableColumnsNode,SqmExpressibleAccessor<Object>,SqmNode,SqmTypedNode<Object>,SqmVisitableNode
- Enclosing class:
SqmJsonTableFunction<T>
public static final class SqmJsonTableFunction.Columns
extends Object
implements SqmTypedNode<Object>
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final ArrayList<org.hibernate.query.sqm.tree.expression.SqmJsonTableFunction.ColumnDefinition> protected final Stringprotected final SqmJsonTableFunction<?> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription<X> Xaccept(SemanticQueryWalker<X> walker) voidappendHqlString(StringBuilder hql, SqmRenderContext context) convertToSqlAst(SqmToSqlAstConverter walker) copy(SqmCopyContext context) existsColumn(String columnName) LikeJpaJsonTableColumnsNode.existsColumn(String, String), but uses the column name as JSON path expression.existsColumn(String columnName, @Nullable 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.@Nullable SqmBindableType<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, @Nullable 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 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.hibernate.query.sqm.tree.SqmNode
asLoggableTextMethods inherited from interface org.hibernate.query.sqm.tree.SqmTypedNode
getExpressible, getNodeJavaTypeMethods inherited from interface org.hibernate.query.sqm.tree.SqmVisitableNode
accept, toHqlString
-
Field Details
-
jsonPath
-
table
-
columnDefinitions
protected final ArrayList<org.hibernate.query.sqm.tree.expression.SqmJsonTableFunction.ColumnDefinition> columnDefinitions
-
-
Constructor Details
-
Columns
-
-
Method Details
-
createTupleType
-
copy
- Specified by:
copyin interfaceSqmNode- Specified by:
copyin interfaceSqmTypedNode<Object>
-
getNodeType
- Specified by:
getNodeTypein interfaceSqmTypedNode<Object>
-
nodeBuilder
- Specified by:
nodeBuilderin interfaceSqmNode
-
appendHqlString
- Specified by:
appendHqlStringin interfaceSqmVisitableNode
-
populateTupleType
public int populateTupleType(int offset, String[] componentNames, 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
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
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
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
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
public <X> JpaJsonValueNode<X> valueColumn(String columnName, JpaCastTarget<X> type, 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
-