Eu não uso PostgreSQL, mas se você não encontrar uma solução adequada para este problema, você pode implementar um interceptor (estender EmptyInterceptor) e modificar sua consulta em
onPrepareStatement(String sql)
. O que significa que você pode estar usando algo como
my_array[1|300]
e reescrevendo-o como my_array[1:300]
para solucionar o problema de parâmetros nomeados. Editar :não tenho 100% de certeza de que o acima funciona (reescrevendo o SQL nativo e se o analisador de consulta permitiria o caractere especial). Eu só fiz o acima em HQL e critérios onde eu estava passando a dica de índice como um comentário de consulta.