No uso PostgreSQL, pero si no encuentra una solución adecuada para este problema, puede implementar un interceptor (extender EmptyInterceptor) y modificar su consulta en onPrepareStatement(String sql)
.
Lo que significa que podrías estar usando algo como my_array[1|300]
y reescribiéndolo como my_array[1:300]
para solucionar el problema de los parámetros con nombre.
Editar :No estoy 100% seguro de que lo anterior funcione (reescribiendo SQL nativo y si el analizador de consultas permitiría el carácter especial). Solo hice lo anterior en HQL y los criterios en los que estaba pasando la sugerencia de índice como un comentario de consulta.