hibernate/hibernate-orm · error · AnnotationException
Unable to interpret FlushMode in named query hint: " + query
Error message
Unable to interpret FlushMode in named query hint: " + queryName
What it means
Error "Unable to interpret FlushMode in named query hint: " + queryName" thrown in hibernate/hibernate-orm.
Source
Thrown at hibernate-core/src/main/java/org/hibernate/boot/model/internal/QueryHintDefinition.java:152
return value == null
? null
: CacheMode.interpretExternalSetting( value );
}
catch (Exception e) {
throw new AnnotationException( "Unable to interpret CacheMode in named query hint: " + queryName, e );
}
}
@Nullable
public QueryFlushMode getFlushMode() {
final String value = getString( HibernateHints.HINT_FLUSH_MODE );
try {
return value == null
? null
: FlushModeTypeHelper.queryFlushModeFromHint( value );
}
catch (MappingException e) {
throw new AnnotationException( "Unable to interpret FlushMode in named query hint: " + queryName, e );
}
}
@Nullable
public LockMode getLockMode(String query) {
final var value = (String) hintsMap.get( HibernateHints.HINT_NATIVE_LOCK_MODE );
if ( value == null ) {
return null;
}
try {
return LockMode.fromExternalForm( value );
}
catch ( MappingException e ) {
throw new AnnotationException( "Unknown LockMode in hint: " + query
+ ":" + HibernateHints.HINT_NATIVE_LOCK_MODE, e );
}
}
View on GitHub (pinned to fad1729dce)
Solutions
- Use a valid FlushMode value (e.g. AUTO, COMMIT, ALWAYS, MANUAL) in the named query hint.
When it happens
Trigger: A named query (or its hints) is declared with missing or invalid values.
Common situations: @NamedQuery/@NamedNativeQuery without a name, both resultSetMapping and an inline mapping, or a hint value of the wrong type (boolean/int/CacheMode/FlushMode/LockMode).
AI-assisted analysis of hibernate/hibernate-orm@fad1729dce (2026-08-22).
Data as JSON: /api/errors/5377f7b86e5d19b0.
Report an issue: GitHub.