{"record":{"id":"00d3ba7c4ef3dce7","repo":"hibernate/hibernate-orm","slug":"can-t-emulate-json-exists-false-on-error-on-s","errorCode":null,"errorMessage":"Can't emulate json_exists(... false on error) on SQL Server","messagePattern":"Can't emulate json_exists\\(\\.\\.\\. false on error\\) on SQL Server","errorType":"exception","errorClass":"QueryException","httpStatus":null,"severity":"error","filePath":"hibernate-core/src/main/java/org/hibernate/dialect/function/json/SQLServerJsonExistsFunction.java","lineNumber":89,"sourceCode":"\t\t\t\t\t\t\tsqlAppender,\n\t\t\t\t\t\t\t\"\",\n\t\t\t\t\t\t\targuments.jsonPath(),\n\t\t\t\t\t\t\tpassingClause,\n\t\t\t\t\t\t\twalker\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\twalker.getSessionFactory().getJdbcServices().getDialect().appendLiteral(\n\t\t\t\t\t\t\tsqlAppender,\n\t\t\t\t\t\t\twalker.getLiteralValue( arguments.jsonPath() )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tsqlAppender.appendSql( \")) is null)\" );\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tif ( arguments.errorBehavior() == JsonExistsErrorBehavior.FALSE ) {\n\t\t\t\tthrow new QueryException( \"Can't emulate json_exists(... false on error) on SQL Server\" );\n\t\t\t}\n\t\t\tfinal String jsonPath = walker.getLiteralValue( arguments.jsonPath() );\n\t\t\tfinal JsonPathPassingClause passingClause = arguments.passingClause();\n\t\t\tfinal List<JsonPathHelper.JsonPathElement> pathElements = JsonPathHelper.parseJsonPathElements( jsonPath );\n\t\t\tif ( passingClause != null ) {\n\t\t\t\tJsonPathHelper.inlinePassingClause( pathElements, passingClause, walker );\n\t\t\t}\n\t\t\tfinal JsonPathHelper.JsonPathElement lastPathElement = pathElements.get( pathElements.size() - 1 );\n\t\t\tfinal String prefix = JsonPathHelper.toJsonPath( pathElements, 0, pathElements.size() - 1 );\n\t\t\tfinal String terminalKey;\n\t\t\tif ( lastPathElement instanceof JsonPathHelper.JsonIndexAccess indexAccess ) {\n\t\t\t\tterminalKey = String.valueOf( indexAccess.index() );\n\t\t\t}\n\t\t\telse if (lastPathElement instanceof JsonPathHelper.JsonAttribute attribute) {\n\t\t\t\tterminalKey = attribute.attribute();\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthrow new AssertionFailure( \"Unrecognized json path element: \" + lastPathElement );","sourceCodeStart":71,"sourceCodeEnd":107,"githubUrl":"https://github.com/hibernate/hibernate-orm/blob/fad1729dce015f908198d57a8d80274a30f905a5/hibernate-core/src/main/java/org/hibernate/dialect/function/json/SQLServerJsonExistsFunction.java#L71-L107","documentation":"Error \"Can't emulate json_exists(... false on error) on SQL Server\" thrown in hibernate/hibernate-orm.","triggerScenarios":"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.","commonSituations":"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.","solutions":["Remove the FALSE ON ERROR clause for SQL Server."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"fad1729dce015f908198d57a8d80274a30f905a5","analyzedAt":"2026-08-22T04:13:57.527Z","schemaVersion":2},"datasetVersion":"2026-08-22T09:17:25.309Z"}