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 String
protected final SqmJsonTableFunction<?>
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription<X> X
accept
(SemanticQueryWalker<X> walker) void
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_exists
with the given JSON path.@Nullable SqmExpressible<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.int
populateTupleType
(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_query
with 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, wait
Methods inherited from interface org.hibernate.query.sqm.tree.SqmNode
asLoggableText
Methods inherited from interface org.hibernate.query.sqm.tree.SqmTypedNode
getExpressible, getNodeJavaType
Methods 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:
copy
in interfaceSqmNode
- Specified by:
copy
in interfaceSqmTypedNode<Object>
-
getNodeType
- Specified by:
getNodeType
in interfaceSqmTypedNode<Object>
-
nodeBuilder
- Specified by:
nodeBuilder
in interfaceSqmNode
-
appendHqlString
- Specified by:
appendHqlString
in interfaceSqmVisitableNode
-
populateTupleType
public int populateTupleType(int offset, String[] componentNames, SqmExpressible<?>[] componentTypes) -
convertToSqlAst
-
existsColumn
Description copied from interface:JpaJsonTableColumnsNode
LikeJpaJsonTableColumnsNode.existsColumn(String, String)
, but uses the column name as JSON path expression.- Specified by:
existsColumn
in interfaceJpaJsonTableColumnsNode
- Returns:
- The
JpaJsonExistsNode
for the column
-
existsColumn
Description copied from interface:JpaJsonTableColumnsNode
Defines a boolean column on the result type with the given name for which the value can be obtained by invokingjson_exists
with the given JSON path.- Specified by:
existsColumn
in interfaceJpaJsonTableColumnsNode
- Returns:
- The
JpaJsonExistsNode
for the column
-
queryColumn
Description copied from interface:JpaJsonTableColumnsNode
LikeJpaJsonTableColumnsNode.queryColumn(String, String)
, but uses the column name as JSON path expression.- Specified by:
queryColumn
in interfaceJpaJsonTableColumnsNode
- Returns:
- The
JpaJsonQueryNode
for the column
-
queryColumn
Description copied from interface:JpaJsonTableColumnsNode
Defines a string column on the result type with the given name for which the value can be obtained by invokingjson_query
with the given JSON path.- Specified by:
queryColumn
in interfaceJpaJsonTableColumnsNode
- Returns:
- The
JpaJsonQueryNode
for the column
-
valueColumn
Description copied from interface:JpaJsonTableColumnsNode
LikeJpaJsonTableColumnsNode.valueColumn(String, Class, String)
but uses the column name as JSON path expression.- Specified by:
valueColumn
in interfaceJpaJsonTableColumnsNode
- Returns:
- The
JpaJsonValueNode
for the column
-
valueColumn
Description copied from interface:JpaJsonTableColumnsNode
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.- Specified by:
valueColumn
in interfaceJpaJsonTableColumnsNode
- Returns:
- The
JpaJsonValueNode
for the column
-
valueColumn
Description copied from interface:JpaJsonTableColumnsNode
LikeJpaJsonTableColumnsNode.valueColumn(String, Class, String)
but uses the column name as JSON path expression.- Specified by:
valueColumn
in interfaceJpaJsonTableColumnsNode
- Returns:
- The
JpaJsonValueNode
for the column
-
valueColumn
public <X> JpaJsonValueNode<X> valueColumn(String columnName, JpaCastTarget<X> type, String jsonPath) Description copied from interface:JpaJsonTableColumnsNode
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.- Specified by:
valueColumn
in interfaceJpaJsonTableColumnsNode
- Returns:
- The
JpaJsonValueNode
for the column
-
nested
Description copied from interface:JpaJsonTableColumnsNode
Defines nested columns that are accessible by the given JSON path.- Specified by:
nested
in interfaceJpaJsonTableColumnsNode
- Returns:
- a new columns node for the nested JSON path
-
ordinalityColumn
Description copied from interface:JpaJsonTableColumnsNode
Defines 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:
ordinalityColumn
in interfaceJpaJsonTableColumnsNode
- Returns:
this
for method chaining
-
accept
-