hibernate/hibernate-orm · error · QueryException
Can't emulate json_exists(... false on error) on SQL Server
Error message
Can't emulate json_exists(... false on error) on SQL Server
What it means
Error "Can't emulate json_exists(... false on error) on SQL Server" thrown in hibernate/hibernate-orm.
Source
Thrown at hibernate-core/src/main/java/org/hibernate/dialect/function/json/SQLServerJsonExistsFunction.java:89
sqlAppender,
"",
arguments.jsonPath(),
passingClause,
walker
);
}
else {
walker.getSessionFactory().getJdbcServices().getDialect().appendLiteral(
sqlAppender,
walker.getLiteralValue( arguments.jsonPath() )
);
}
sqlAppender.appendSql( ")) is null)" );
}
}
else {
if ( arguments.errorBehavior() == JsonExistsErrorBehavior.FALSE ) {
throw new QueryException( "Can't emulate json_exists(... false on error) on SQL Server" );
}
final String jsonPath = walker.getLiteralValue( arguments.jsonPath() );
final JsonPathPassingClause passingClause = arguments.passingClause();
final List<JsonPathHelper.JsonPathElement> pathElements = JsonPathHelper.parseJsonPathElements( jsonPath );
if ( passingClause != null ) {
JsonPathHelper.inlinePassingClause( pathElements, passingClause, walker );
}
final JsonPathHelper.JsonPathElement lastPathElement = pathElements.get( pathElements.size() - 1 );
final String prefix = JsonPathHelper.toJsonPath( pathElements, 0, pathElements.size() - 1 );
final String terminalKey;
if ( lastPathElement instanceof JsonPathHelper.JsonIndexAccess indexAccess ) {
terminalKey = String.valueOf( indexAccess.index() );
}
else if (lastPathElement instanceof JsonPathHelper.JsonAttribute attribute) {
terminalKey = attribute.attribute();
}
else {
throw new AssertionFailure( "Unrecognized json path element: " + lastPathElement );View on GitHub (pinned to fad1729dce)
Solutions
- Remove the FALSE ON ERROR clause for SQL Server.
When it happens
Trigger: Triggered when the application calls a Hibernate dialect feature that the configured database dialect cannot provide: Can't emulate json_exists(... false on error) on SQL Server.
Common situations: Common when running against a database whose dialect lacks this capability, when a mapping or HQL/Criteria query requests unsupported functionality, or when the wrong dialect is configured for the database in use. Error: Can't emulate json_exists(... false on error) on SQL Server.
AI-assisted analysis of hibernate/hibernate-orm@fad1729dce (2026-08-22).
Data as JSON: /api/errors/00d3ba7c4ef3dce7.
Report an issue: GitHub.