hibernate/hibernate-orm · error · AnnotationException
Unknown LockMode in hint: " + query + ":" + HibernateHints.H
Error message
Unknown LockMode in hint: " + query + ":" + HibernateHints.HINT_NATIVE_LOCK_MODE
What it means
Error "Unknown LockMode in hint: " + query + ":" + HibernateHints.HINT_NATIVE_LOCK_MODE" thrown in hibernate/hibernate-orm.
Source
Thrown at hibernate-core/src/main/java/org/hibernate/boot/model/internal/QueryHintDefinition.java:166
? 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 );
}
}
@Nonnull
public LockOptions determineLockOptions(NamedQuery namedQueryAnnotation) {
return determineLockOptions( namedQueryAnnotation.lockMode(), specLockTimeout(), followOnStrategy() );
}
@Nullable
private Integer specLockTimeout() {
final Integer jakartaLockTimeout = getInteger( AvailableSettings.JAKARTA_LOCK_TIMEOUT );
if ( jakartaLockTimeout != null ) {
return jakartaLockTimeout;
}
return getInteger( AvailableSettings.JPA_LOCK_TIMEOUT );
}View on GitHub (pinned to fad1729dce)
Solutions
- Use a valid LockMode value in the native lock mode 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/e8b2fb746dcc287b.
Report an issue: GitHub.