| @Guillaume Smet Couldn't we do something similar to the `LimitHandler` defined in `Oracle8iDialect`, which calls: `sql.trim().toLowerCase(Locale.ROOT).endsWith( " for update" )`: https://github.com/hibernate/hibernate-orm/blob/master/hibernate-core/src/main/java/org/hibernate/dialect/Oracle8iDialect.java#L77. Maybe something like this?: ``` class Oracle12cLimitHandler extends AbstractLimitHandler { private static final LimitHandler LEGACY_LIMIT_HANDLER = new Oracle10gDialect().getLimitHandler(); @Override public boolean supportsLimit () { return true; } @Override public String processSql (String sql, RowSelection selection) { LimitHandler limitHandler; if (sql.trim().toLowerCase(Locale.ROOT).endsWith( " for update" )) { limitHandler = LEGACY_LIMIT_HANDLER; } else { limitHandler = SQL2008StandardLimitHandler.INSTANCE; } return limitHandler.processSql(sql, selection); } } ``` |