hibernate/hibernate-orm · error · IllegalArgumentException
illegal unit: {unit}
Error message
illegal unit: {unit} What it means
Error "illegal unit: {unit}" thrown in hibernate/hibernate-orm.
Source
Thrown at hibernate-core/src/main/java/org/hibernate/dialect/Dialect.java:6181
* {@link TemporalUnit#NANOSECOND},
* {@link TemporalUnit#NATIVE},
* {@link TemporalUnit#OFFSET},
* {@link TemporalUnit#DAY_OF_WEEK},
* {@link TemporalUnit#DAY_OF_MONTH},
* {@link TemporalUnit#DAY_OF_YEAR},
* {@link TemporalUnit#DATE},
* {@link TemporalUnit#TIME},
* {@link TemporalUnit#TIMEZONE_HOUR},
* {@link TemporalUnit#TIMEZONE_MINUTE},
* {@link TemporalUnit#WEEK_OF_YEAR}, nor
* {@link TemporalUnit#WEEK_OF_MONTH},
* which are not units of duration.
*/
public String translateDurationField(TemporalUnit unit) {
return switch (unit) {
case NATIVE -> "nanosecond"; // default to nanosecond for now
case DAY_OF_MONTH, DAY_OF_YEAR, DAY_OF_WEEK, WEEK_OF_MONTH, WEEK_OF_YEAR, OFFSET, TIMEZONE_HOUR, TIMEZONE_MINUTE, DATE, TIME ->
throw new IllegalArgumentException( "illegal unit: " + unit );
default -> unit.toString();
};
}
/**
* Append a datetime literal representing the given {@link java.time}
* value to the given {@link SqlAppender}.
*/
public void appendDateTimeLiteral(
SqlAppender appender,
TemporalAccessor temporalAccessor,
@SuppressWarnings("deprecation")
TemporalType precision,
TimeZone jdbcTimeZone) {
switch ( precision ) {
case DATE:
appender.appendSql( JDBC_ESCAPE_START_DATE );
appendAsDate( appender, temporalAccessor );View on GitHub (pinned to fad1729dce)
Solutions
- Use a supported TemporalUnit (SECOND, MINUTE, HOUR, DAY, etc.).
- Check the unit name for typos.
When it happens
Trigger: Triggered when the application calls a Hibernate dialect feature that the configured database dialect cannot provide: illegal unit: the given unit.
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: illegal unit: the given unit.
AI-assisted analysis of hibernate/hibernate-orm@fad1729dce (2026-08-22).
Data as JSON: /api/errors/7e8715614ffc0468.
Report an issue: GitHub.