Uses of Interface
org.hibernate.query.sqm.function.SqmFunctionDescriptor
Packages that use SqmFunctionDescriptor
Package
Description
This package contains the interfaces that make up the bootstrap API
for Hibernate.
A range of SPIs allowing integration with—and customization of—the process of building metadata.
This package defines APIs for configuring Hibernate.
Contains implementations of
SqmFunctionDescriptor
describing a range of relatively-sophisticated SQL functions available in various dialects.Contains a range of internal abstractions for dealing with query execution,
query plans, query options, and query parameters.
An SPI for defining, registering, and rendering functions in HQL.
Package defining support for
SqmFunctionDescriptor handling.Nodes representing expressions in the SQM tree.
This package defines the central Hibernate Spatial types and functions.
This package contains the spatial extensions for the OracleDialect.
-
Uses of SqmFunctionDescriptor in org.hibernate.boot
Methods in org.hibernate.boot that return types with arguments of type SqmFunctionDescriptorMethods in org.hibernate.boot with parameters of type SqmFunctionDescriptorModifier and TypeMethodDescriptionMetadataBuilder.applySqlFunction(String functionName, SqmFunctionDescriptor function) Contribute aSqmFunctionDescriptorto HQL.SessionFactoryBuilder.applySqlFunction(String registrationName, SqmFunctionDescriptor functionDescriptor) Register aSQL functionwith the underlyingSqmFunctionRegistry. -
Uses of SqmFunctionDescriptor in org.hibernate.boot.internal
Methods in org.hibernate.boot.internal that return types with arguments of type SqmFunctionDescriptorModifier and TypeMethodDescriptionSessionFactoryOptionsBuilder.getCustomSqlFunctionMap()InFlightMetadataCollectorImpl.getSqlFunctionMap()MetadataImpl.getSqlFunctionMap()BootstrapContextImpl.getSqlFunctions()Methods in org.hibernate.boot.internal with parameters of type SqmFunctionDescriptorModifier and TypeMethodDescriptionvoidBootstrapContextImpl.addSqlFunction(String functionName, SqmFunctionDescriptor function) MetadataBuilderImpl.applySqlFunction(String functionName, SqmFunctionDescriptor function) SessionFactoryBuilderImpl.applySqlFunction(String registrationName, SqmFunctionDescriptor functionDescriptor) voidSessionFactoryOptionsBuilder.applySqlFunction(String registrationName, SqmFunctionDescriptor sqlFunction) -
Uses of SqmFunctionDescriptor in org.hibernate.boot.spi
Methods in org.hibernate.boot.spi that return types with arguments of type SqmFunctionDescriptorModifier and TypeMethodDescriptionAbstractDelegatingSessionFactoryOptions.getCustomSqlFunctionMap()AbstractDelegatingMetadata.getSqlFunctionMap()BootstrapContext.getSqlFunctions()Access to any SQL functions explicitly registered with theMetadataBuilder.Methods in org.hibernate.boot.spi with parameters of type SqmFunctionDescriptorModifier and TypeMethodDescriptionAbstractDelegatingMetadataBuilderImplementor.applySqlFunction(String functionName, SqmFunctionDescriptor function) AbstractDelegatingSessionFactoryBuilder.applySqlFunction(String registrationName, SqmFunctionDescriptor sqlFunction) -
Uses of SqmFunctionDescriptor in org.hibernate.cfg
Methods in org.hibernate.cfg with parameters of type SqmFunctionDescriptorModifier and TypeMethodDescriptionConfiguration.addSqlFunction(String functionName, SqmFunctionDescriptor function) Adds a function descriptor to this configuration. -
Uses of SqmFunctionDescriptor in org.hibernate.dialect.function
Classes in org.hibernate.dialect.function that implement SqmFunctionDescriptorModifier and TypeClassDescriptionclassclassSome databases don't have a function likeleast()orgreatest(), and on those platforms we emulate the function usingcase.classANSI SQL-inspiredcast()function, where the target types are enumerated byCastType, and portability is achieved by delegating toDialect.castPattern(CastType, CastType).classclassThe HQLstr()function is now considered a synonym forcast(x as String).classA chr implementation that translates integer literals to string literals.classclassA concat function with a pattern for clob arguments.classclassA "function" with no parameters that returns the current date, time, or timestamp.classEmulation oftrunc(datetime, temporal_unit)function that leverages formatting the datetime to string and back to truncate itclassDB2's varchar_format() can't handle quoted literal strings in the format pattern.classDB2's position() function always requires a code unit before version 11.classDB2's substring() function requires a code unit and substr() can't optionally take it, so we render substr() by default.classA function that dynamically dispatches to other functions, depending on which function validates successfully first.classMost databases don't have a function likeevery()orany().classANSI SQL-inspiredextract()function, where the date/time fields are enumerated byTemporalUnit, and portability is achieved by delegating toDialect.extractPattern(TemporalUnit).classA format function with support for composite temporal expressions.classclassclassEmulates the ANSI SQL-standardoverlay()function usinginsert()substring(), andconcat().classUsed in place ofTimestampaddFunctionfor databases which don't support fractional seconds in thetimestampadd()function.classclassclassA length function with separate patterns for string and clob argument.classclassclassclassEmulates the ANSI SQL-standardposition()function usinglocate().classHQL function inspired by the ANSI SQL trim function, with a funny syntax involving aTrimSpec.classMost databases don't have a function likeevery()orany().classclassOracle 8i had nocoalesce()function, so we emulate it using chainednvl()s.classclassCustomTruncFunctionfor Oracle which uses emulation when truncating datetimes to secondsclassThe HQLordinal()function returns the ordinal value of an enumclassPostgreSQL doesn't support min/max for uuid yet, but since that type is comparable we want to support this operation.classCustomTruncFunctionfor PostgreSQL which uses the dialect-specific function for numeric truncationclassPostgreSQL only supports the two-argumenttruncandroundfunctions with the following signatures:trunc(numeric, integer)round(numeric, integer)classclassclassA function to pass through a SQL fragment.classCustomTruncFunctionfor SQL Server versions before 16, which uses the customSqlServerConvertTruncFunction.DateTruncConvertEmulationclassSQL Server doesn't have a function likeevery()orany().classSQL Server behaves strangely when the first argument to format is of the type time, so we cast to datetime.classSimplified API allowing users to contributeSqmFunctionDescriptors to HQL.classCustomTruncFunctionfor Sybase which uses a dialect-specific emulation function for datetimesclassThetimestampadd()ordateadd()function has a funny syntax which accepts aTemporalUnitas the first argument, and the actual set of accepted units varies widely.classThetimestampdiff()ordatediff()function has a funny syntax which accepts aTemporalUnitas the first argument, and the actual set of accepted units varies widely.classA special function that renders a T-SQLstr()function if more than a single argument is given, or otherwise renders acast()expression just likeCastStrEmulation.classANSI SQL-standardtrim()function, which has a funny syntax involving aTrimSpec, and portability is achieved usingDialect.trimPattern(TrimSpec, boolean).classCustom function that manages both numeric and datetime truncationConstructors in org.hibernate.dialect.function with parameters of type SqmFunctionDescriptorModifierConstructorDescriptionFormatSqmFunction(SqmFunctionDescriptor descriptor, FunctionRenderer renderer, List<? extends SqmTypedNode<?>> arguments, ReturnableType<T> impliedResultType, ArgumentsValidator argumentsValidator, FunctionReturnTypeResolver returnTypeResolver, boolean supportsPatternLiterals, QueryEngine queryEngine) -
Uses of SqmFunctionDescriptor in org.hibernate.dialect.function.array
Classes in org.hibernate.dialect.function.array that implement SqmFunctionDescriptorModifier and TypeClassDescriptionclassEncapsulates the validator, return type and argument type resolvers for the array_contains function.classEncapsulates the validator, return type and argument type resolvers for the array_contains function.classEncapsulates the validator, return type and argument type resolvers for the array_includes function.classEncapsulates the validator, return type and argument type resolvers for the array_intersects function.classEncapsulates the validator, return type and argument type resolvers for the array_position functions.classEncapsulates the validator, return type and argument type resolvers for the array_positions functions.classEncapsulates the validator, return type and argument type resolvers for the array_remove functions.classEncapsulates the validator, return type and argument type resolvers for the array_remove functions.classclassConcatenation function for array and an element.classConcatenation function for arrays.classclassSpecial array contains function that also applies a cast to the element argument.classImplement the array contains function by usingunnest.classImplement the array get function by usingunnest.classSpecial array includes implementation that uses the PostgreSQL@>operator.classImplement the array includes function by usingunnest.classArray intersects function that uses the PostgreSQL&&operator.classImplement the intersects function by usingunnest.classImplement the array remove index function by usingunnest.classImplement the array replace function by usingunnest.classImplement the array set function by usingunnest.classImplement the array slice function by usingunnest.classclassImplement the array fill function by usinggenerate_series.classH2 requires a very special emulation, becauseunnestis pretty much useless, due to https://github.com/h2database/h2database/issues/1815.classImplement the array fill function by usingsystem_range.classH2 requires a very special emulation, becauseunnestis pretty much useless, due to https://github.com/h2database/h2database/issues/1815.classH2 requires a very special emulation, becauseunnestis pretty much useless, due to https://github.com/h2database/h2database/issues/1815.classH2 requires a very special emulation, becauseunnestis pretty much useless, due to https://github.com/h2database/h2database/issues/1815.classH2 requires a very special emulation, becauseunnestis pretty much useless, due to https://github.com/h2database/h2database/issues/1815.classH2 requires a very special emulation, becauseunnestis pretty much useless, due to https://github.com/h2database/h2database/issues/1815.classH2 requires a very special emulation, becauseunnestis pretty much useless, due to https://github.com/h2database/h2database/issues/1815.classH2 requires a very special emulation, becauseunnestis pretty much useless, due to https://github.com/h2database/h2database/issues/1815.classH2 requires a very special emulation, becauseunnestis pretty much useless, due to https://github.com/h2database/h2database/issues/1815.classH2 requires a very special emulation, becauseunnestis pretty much useless, due to https://github.com/h2database/h2database/issues/1815.classclassImplement the array fill function by usingsequence_array.classHSQLDB has a special syntax.classHSQLDB has a special syntax.classHSQLDB array_remove function.classHSQLDB array_set function.classHSQLDB has a special syntax.classclassOracle concatenation function for array and an element.classOracle concatenation function for arrays.classclassclassOracle array_fill function.classOracle array_get function.classclassclassclassclassclassOracle array_remove function.classOracle array_remove_index function.classOracle array_replace function.classOracle array_set function.classOracle array_slice function.classOracle array_to_string function.classOracle array_trim function.classPostgreSQL variant of the function to properly returnnullwhen the array argument is null.classPostgreSQL variant of the function to properly returnnullwhen one of the arguments is null.classSpecial array constructor function that also applies a cast to the array literal, based on the inferred result type.classCustom casting for the array fill function.classPostgreSQL variant of the function.classPostgreSQL variant of the function.classPostgreSQL array_trim emulation, since the function was only introduced in version 14. -
Uses of SqmFunctionDescriptor in org.hibernate.dialect.function.json
Classes in org.hibernate.dialect.function.json that implement SqmFunctionDescriptorModifier and TypeClassDescriptionclassStandard json_array_append function.classStandard json_array_insert function.classStandard json_insert function.classStandard json_mergepatch function.classStandard json_remove function.classStandard json_replace function.classStandard json_set function.classCockroachDB json_exists function.classCockroachDB json_query function.classCockroachDB json_remove function.classCockroachDB json_value function.classDB2 json_arrayagg function.classDB2 json_array function.classDB2 json_objectagg function.classDB2 json_object function.classDB2 json_value function.classH2 json_arrayagg function.classH2 json_exists function.classStandard json_objectagg function that uses no returning clause.classH2 json_query function.classH2 json_value function.classSAP HANA json_arrayagg function.classSAP HANA json_array function.classSAP HANA json_exists function.classSAP HANA json_objectagg function.classSAP HANA json_object function.classHANA json_value function.classHSQLDB json_arrayagg function.classHSQLDB json_array function.classHSQLDB json_object function.classStandard json_arrayagg function.classStandard json_array function.classStandard json_exists function.classStandard json_objectagg function.classStandard json_object function.classStandard json_query function.classStandard json_value function.classMariaDB json_arrayagg function.classMariaDB json_array_append function.classMariaDB json_array function.classMariaDB json_objectagg function.classMariaDB json_query function.classMariaDB json_value function.classMySQL json_arrayagg function.classMySQL json_array function.classMySQL json_exists function.classMySQL json_objectagg function.classMySQL json_object function.classMySQL json_query function.classMySQL json_value function.classOracle json_arrayagg function.classOracle json_array_append function.classOracle json_array function.classOracle json_array_insert function.classOracle json_insert function.classOracle json_mergepatch function.classOracle json_objectagg function.classOracle json_object function.classOracle json_remove function.classOracle json_replace function.classOracle json_set function.classOracle json_value function.classPostgreSQL json_arrayagg function.classPostgreSQL json_array_append function.classPostgreSQL json_array function.classPostgreSQL json_array_insert function.classPostgreSQL json_exists function.classPostgreSQL json_insert function.classPostgreSQL json_mergepatch function.classPostgreSQL json_objectagg function.classPostgreSQL json_object function.classPostgreSQL json_query function.classPostgreSQL json_remove function.classPostgreSQL json_replace function.classPostgreSQL json_set function.classPostgreSQL json_value function.classSQL Server json_arrayagg function.classSQL Server json_array_append function.classSQL Server json_array function.classSQL Server json_array_insert function.classSQL Server json_exists function.classSQL Server json_insert function.classSQL Server json_objectagg function.classSQL Server json_object function.classSQL Server json_query function.classSQL Server json_remove function.classSQL Server json_replace function.classSQL Server json_set function.classSQL Server json_value function. -
Uses of SqmFunctionDescriptor in org.hibernate.dialect.function.xml
Classes in org.hibernate.dialect.function.xml that implement SqmFunctionDescriptorModifier and TypeClassDescriptionclassH2 xmlconcat function.classH2 xmlelement function.classH2 xmlforest function.classH2 xmlpi function.classDB2 10.5 xmlexists function.classDB2 10.5 xmlquery function.classPostgreSQL xmlquery function.classSQL Server xmlagg function.classSQL Server xmlconcat function.classSQL Server xmlelement function.classSQL Server xmlexists function.classSQL Server xmlforest function.classSQL Server xmlpi function.classSQL Server xmlquery function.classStandard xmlagg function.classStandard xmlconcat function.classStandard xmlelement function.classStandard xmlexists function.classStandard xmlforest function.classStandard xmlpi function.classStandard xmlquery function. -
Uses of SqmFunctionDescriptor in org.hibernate.envers.function
Classes in org.hibernate.envers.function that implement SqmFunctionDescriptorModifier and TypeClassDescriptionclassEnvers specific FunctionContributor -
Uses of SqmFunctionDescriptor in org.hibernate.query.spi
Methods in org.hibernate.query.spi that return types with arguments of type SqmFunctionDescriptorModifier and TypeMethodDescriptionQueryEngineOptions.getCustomSqlFunctionMap()User defined SQM functions available for use in HQL and Criteria. -
Uses of SqmFunctionDescriptor in org.hibernate.query.sqm.function
Classes in org.hibernate.query.sqm.function that implement SqmFunctionDescriptorModifier and TypeClassDescriptionclassclassclassActs as a wrapper to anotherSqmFunctionDescriptor, rendering the standard JDBC escape sequence{fn f(x, y)}around the invocation syntax generated by its delegate.classSupport for overloaded functions defined in terms of a list of patterns, one for each possible function arity.classProvides a standard implementation that supports the majority of the HQL functions that are translated to SQL.classSupport for HQL functions that have different representations in different SQL dialects, where the difference can be handled via a pattern template.Methods in org.hibernate.query.sqm.function that return SqmFunctionDescriptorModifier and TypeMethodDescription@Nullable SqmFunctionDescriptorSqmFunctionRegistry.findFunctionDescriptor(String functionName) Find aSqmFunctionDescriptorby name.MultipatternSqmFunctionDescriptor.getFunction(int argumentCount) SqmFunctionRegistry.register(String registrationKey, SqmFunctionDescriptor function) Register a function descriptor by nameSqmFunctionRegistry.registerNamed(String name) Register a named descriptor by name.SqmFunctionRegistry.registerNamed(String name, BasicType returnType) Register a named descriptor by name and invariant return type.SqmFunctionRegistry.registerNoArgs(String name) Specialized registration method for registering a named descriptor for functions expecting zero arguments.SqmFunctionRegistry.registerNoArgs(String registrationKey, String name) SqmFunctionRegistry.registerNoArgs(String registrationKey, String name, BasicType returnType) SqmFunctionRegistry.registerNoArgs(String name, BasicType returnType) SqmFunctionRegistry.registerPattern(String name, String pattern) Register a pattern-based descriptor by name.SqmFunctionRegistry.registerPattern(String name, String pattern, BasicType returnType) Register a pattern-based descriptor by name and invariant return type.SqmFunctionRegistry.wrapInJdbcEscape(String name, SqmFunctionDescriptor wrapped) Methods in org.hibernate.query.sqm.function that return types with arguments of type SqmFunctionDescriptorModifier and TypeMethodDescriptionSqmFunctionRegistry.getFunctionsByName()Useful for diagnostics - not efficient: do not use in production code.Methods in org.hibernate.query.sqm.function with parameters of type SqmFunctionDescriptorModifier and TypeMethodDescriptionSqmFunctionRegistry.register(String registrationKey, SqmFunctionDescriptor function) Register a function descriptor by nameSqmFunctionRegistry.wrapInJdbcEscape(String name, SqmFunctionDescriptor wrapped) Constructors in org.hibernate.query.sqm.function with parameters of type SqmFunctionDescriptorModifierConstructorDescriptionJdbcEscapeFunctionDescriptor(String name, SqmFunctionDescriptor wrapped) MultipatternSqmFunctionDescriptor(String name, SqmFunctionDescriptor[] functions, BasicType<?> type, TypeConfiguration typeConfiguration, FunctionParameterType... parameterTypes) Construct an instance with the given function templates where the position of each function template in the given array corresponds to the arity of the function template.MultipatternSqmFunctionDescriptor(String name, SqmFunctionDescriptor[] functions, TypeConfiguration typeConfiguration, FunctionParameterType... parameterTypes) Construct an instance with the given function templates where the position of each function template in the given array corresponds to the arity of the function template.SelfRenderingSqmAggregateFunction(SqmFunctionDescriptor descriptor, FunctionRenderer renderer, List<? extends SqmTypedNode<?>> arguments, SqmPredicate filter, ReturnableType<T> impliedResultType, ArgumentsValidator argumentsValidator, FunctionReturnTypeResolver returnTypeResolver, NodeBuilder nodeBuilder, String name) SelfRenderingSqmFunction(SqmFunctionDescriptor descriptor, FunctionRenderer renderer, List<? extends SqmTypedNode<?>> arguments, @Nullable ReturnableType<T> impliedResultType, @Nullable ArgumentsValidator argumentsValidator, FunctionReturnTypeResolver returnTypeResolver, NodeBuilder nodeBuilder, String name) SelfRenderingSqmOrderedSetAggregateFunction(SqmFunctionDescriptor descriptor, FunctionRenderer renderer, List<? extends SqmTypedNode<?>> arguments, SqmPredicate filter, SqmOrderByClause withinGroupClause, ReturnableType<T> impliedResultType, ArgumentsValidator argumentsValidator, FunctionReturnTypeResolver returnTypeResolver, NodeBuilder nodeBuilder, String name) SelfRenderingSqmWindowFunction(SqmFunctionDescriptor descriptor, FunctionRenderer renderer, List<? extends SqmTypedNode<?>> arguments, SqmPredicate filter, Boolean respectNulls, Boolean fromFirst, ReturnableType<T> impliedResultType, ArgumentsValidator argumentsValidator, FunctionReturnTypeResolver returnTypeResolver, NodeBuilder nodeBuilder, String name) -
Uses of SqmFunctionDescriptor in org.hibernate.query.sqm.produce.function
Methods in org.hibernate.query.sqm.produce.function that return SqmFunctionDescriptorModifier and TypeMethodDescriptionNamedFunctionDescriptorBuilder.descriptor()PatternFunctionDescriptorBuilder.descriptor()NamedFunctionDescriptorBuilder.register()PatternFunctionDescriptorBuilder.register() -
Uses of SqmFunctionDescriptor in org.hibernate.query.sqm.tree.expression
Methods in org.hibernate.query.sqm.tree.expression that return SqmFunctionDescriptorModifier and TypeMethodDescriptionSqmCoalesce.getFunctionDescriptor()SqmFunction.getFunctionDescriptor()Constructors in org.hibernate.query.sqm.tree.expression with parameters of type SqmFunctionDescriptorModifierConstructorDescriptionAbstractSqmJsonPathExpression(SqmFunctionDescriptor descriptor, FunctionRenderer renderer, List<? extends SqmTypedNode<?>> arguments, @Nullable ReturnableType<T> impliedResultType, @Nullable ArgumentsValidator argumentsValidator, FunctionReturnTypeResolver returnTypeResolver, NodeBuilder nodeBuilder, String name) protectedAbstractSqmJsonPathExpression(SqmFunctionDescriptor descriptor, FunctionRenderer renderer, List<? extends SqmTypedNode<?>> arguments, @Nullable ReturnableType<T> impliedResultType, @Nullable ArgumentsValidator argumentsValidator, FunctionReturnTypeResolver returnTypeResolver, NodeBuilder nodeBuilder, String name, @Nullable Map<String, SqmExpression<?>> passingExpressions) SqmFunction(String functionName, SqmFunctionDescriptor functionDescriptor, @Nullable SqmBindableType<T> type, List<? extends SqmTypedNode<?>> arguments, NodeBuilder criteriaBuilder) SqmJsonExistsExpression(SqmFunctionDescriptor descriptor, FunctionRenderer renderer, List<? extends SqmTypedNode<?>> arguments, @Nullable ReturnableType<Boolean> impliedResultType, @Nullable ArgumentsValidator argumentsValidator, FunctionReturnTypeResolver returnTypeResolver, NodeBuilder nodeBuilder, String name) SqmJsonQueryExpression(SqmFunctionDescriptor descriptor, FunctionRenderer renderer, List<? extends SqmTypedNode<?>> arguments, @Nullable ReturnableType<String> impliedResultType, @Nullable ArgumentsValidator argumentsValidator, FunctionReturnTypeResolver returnTypeResolver, NodeBuilder nodeBuilder, String name) SqmJsonValueExpression(SqmFunctionDescriptor descriptor, FunctionRenderer renderer, List<? extends SqmTypedNode<?>> arguments, @Nullable ReturnableType<T> impliedResultType, @Nullable ArgumentsValidator argumentsValidator, FunctionReturnTypeResolver returnTypeResolver, NodeBuilder nodeBuilder, String name) SqmXmlElementExpression(SqmFunctionDescriptor descriptor, FunctionRenderer renderer, List<? extends SqmTypedNode<?>> arguments, @Nullable ReturnableType<String> impliedResultType, @Nullable ArgumentsValidator argumentsValidator, FunctionReturnTypeResolver returnTypeResolver, NodeBuilder nodeBuilder, String name) -
Uses of SqmFunctionDescriptor in org.hibernate.spatial
Fields in org.hibernate.spatial with type parameters of type SqmFunctionDescriptorModifier and TypeFieldDescriptionprotected final Map<FunctionKey,SqmFunctionDescriptor> BaseSqmFunctionDescriptors.mapMethods in org.hibernate.spatial that return types with arguments of type SqmFunctionDescriptor -
Uses of SqmFunctionDescriptor in org.hibernate.spatial.dialect.hana
Classes in org.hibernate.spatial.dialect.hana that implement SqmFunctionDescriptor -
Uses of SqmFunctionDescriptor in org.hibernate.spatial.dialect.oracle
Classes in org.hibernate.spatial.dialect.oracle that implement SqmFunctionDescriptorModifier and TypeClassDescriptionclassclassclassclassclassclassMethods in org.hibernate.spatial.dialect.oracle that return types with arguments of type SqmFunctionDescriptor