hibernate/hibernate-orm · error · IllegalArgumentException

Unsupported TemporalType: ${precision}

Error message

Unsupported TemporalType: ${precision}

What it means

Error "Unsupported TemporalType: ${precision}" thrown in hibernate/hibernate-orm.

Source

Thrown at hibernate-core/src/main/java/org/hibernate/dialect/SpannerDialect.java:850

					appendAsTimestampWithNanos(
							appender,
							ldt.atOffset( ZoneOffset.UTC ),
							supportsTemporalLiteralOffset(),
							jdbcTimeZone
					);
				}
				else {
					appendAsTimestampWithNanos(
							appender,
							temporalAccessor,
							supportsTemporalLiteralOffset(),
							jdbcTimeZone
					);
				}
				appender.appendSql( "'" );
				break;
			default:
				throw new IllegalArgumentException( "Unsupported TemporalType: " + precision );
		}
	}

	@Override
	public void appendDateTimeLiteral(
			org.hibernate.sql.ast.spi.SqlAppender appender,
			java.util.Date date,
			jakarta.persistence.TemporalType precision,
			java.util.TimeZone jdbcTimeZone) {
		switch ( precision ) {
			case DATE:
				appender.appendSql( "DATE '" );
				appendAsDate( appender, date );
				appender.appendSql( "'" );
				break;
			case TIME:
				appender.appendSql( "TIMESTAMP '" );
				if ( date instanceof java.sql.Time time ) {

View on GitHub (pinned to fad1729dce)

Solutions

  1. Use DATE, TIME, or TIMESTAMP precision types supported by Spanner.

When it happens

Trigger: Triggered when the application calls a Hibernate dialect feature that the configured database dialect cannot provide: Unsupported TemporalType: the given precision.

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: Unsupported TemporalType: the given precision.


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