hibernate/hibernate-orm · error · QueryException

CockroachDB json_table only support literal json paths, but

Error message

CockroachDB json_table only support literal json paths, but got " + arguments.jsonPath()

What it means

Error "CockroachDB json_table only support literal json paths, but got " + arguments.jsonPath()" thrown in hibernate/hibernate-orm.

Source

Thrown at hibernate-core/src/main/java/org/hibernate/dialect/function/json/CockroachDBJsonTableFunction.java:63

			SqlAstTranslator<?> walker) {
		if ( arguments.errorBehavior() == JsonTableErrorBehavior.NULL ) {
			throw new QueryException( "Can't emulate null on error clause on CockroachDB" );
		}
		final SqlAstNode jsonPathExpression = arguments.jsonPath();
		final List<JsonPathHelper.JsonPathElement> jsonPathElements;
		final boolean isArray;
		if ( jsonPathExpression == null ) {
			jsonPathElements = Collections.emptyList();
			// Assume array by default
			isArray = true;
		}
		else {
			final String jsonPath;
			try {
				jsonPath = walker.getLiteralValue( arguments.jsonPath() );
			}
			catch (Exception ex) {
				throw new QueryException( "CockroachDB json_table only support literal json paths, but got " + arguments.jsonPath() );
			}
			isArray = jsonPath.endsWith( "[*]" );
			if ( isArray ) {
				jsonPathElements = JsonPathHelper.parseJsonPathElements( jsonPath.substring( 0, jsonPath.length() - 3 ) );
			}
			else {
				jsonPathElements = JsonPathHelper.parseJsonPathElements( jsonPath );
			}
		}

		sqlAppender.appendSql( "(select" );

		renderColumns( sqlAppender, arguments.columnsClause(), 0, walker );

		sqlAppender.appendSql( " from " );
		if ( isArray ) {
			sqlAppender.appendSql( "jsonb_array_elements(" );
		}

View on GitHub (pinned to fad1729dce)

Solutions

  1. Pass the JSON path as a string literal.

When it happens

Trigger: Triggered when the application calls a Hibernate dialect feature that the configured database dialect cannot provide: CockroachDB json_table only support literal json paths.

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: CockroachDB json_table only support literal json paths.


AI-assisted analysis of hibernate/hibernate-orm@fad1729dce (2026-08-22). Data as JSON: /api/errors/05413ff83587bb34. Report an issue: GitHub.