hibernate/hibernate-orm · error · SemanticException
The %s() set-returning function was not registered for the d
Error message
The %s() set-returning function was not registered for the dialect
What it means
Error "The %s() set-returning function was not registered for the dialect" thrown in hibernate/hibernate-orm.
Source
Thrown at hibernate-core/src/main/java/org/hibernate/query/hql/internal/SemanticQueryBuilder.java:4566
private String toName(HqlParser.JpaNonstandardFunctionNameContext ctx) {
return ctx.STRING_LITERAL() == null
? ctx.identifier().getText().toLowerCase()
: unquoteStringLiteral( ctx.STRING_LITERAL().getText() ).toLowerCase();
}
@Override
public SqmSetReturningFunction<?> visitSimpleSetReturningFunction(HqlParser.SimpleSetReturningFunctionContext ctx) {
final String functionName = visitIdentifier( ctx.identifier() );
final var argumentsContext = ctx.genericFunctionArguments();
@SuppressWarnings("unchecked")
final List<SqmTypedNode<?>> functionArguments =
argumentsContext == null
? emptyList()
: (List<SqmTypedNode<?>>) argumentsContext.accept(this);
SqmSetReturningFunctionDescriptor functionTemplate = getSetReturningFunctionDescriptor( functionName );
if ( functionTemplate == null ) {
throw new SemanticException(
"The %s() set-returning function was not registered for the dialect".formatted( functionName ),
query
);
}
return functionTemplate.generateSqmExpression( functionArguments, queryEngine() );
}
@Override
public SqmExpression<?> visitJpaNonstandardFunction(HqlParser.JpaNonstandardFunctionContext ctx) {
final String functionName = toName( ctx.jpaNonstandardFunctionName() );
final var argumentsContext = ctx.genericFunctionArguments();
@SuppressWarnings("unchecked")
final List<SqmTypedNode<?>> functionArguments =
argumentsContext == null
? emptyList()
: (List<SqmTypedNode<?>>) argumentsContext.accept(this);
final var returnableType = returnType( ctx.castTarget() );View on GitHub (pinned to fad1729dce)
Solutions
- The set-returning function is not registered in the current SQL dialect. Register the function via a FunctionContributor or dialect contribution, or use a function the dialect supports.
When it happens
Trigger: A function is called in HQL that the configured SQL dialect does not register: The <value>() set-returning function was not registered for the dialect
Common situations: Using set-returning functions or listagg() on a dialect that does not support them, or a custom Dialect missing the function registration.
AI-assisted analysis of hibernate/hibernate-orm@fad1729dce (2026-08-22).
Data as JSON: /api/errors/00e58b9db03671a3.
Report an issue: GitHub.