Je n'utilise pas PostgreSQL mais si vous ne trouvez pas de solution appropriée à ce problème, vous pouvez implémenter un intercepteur (étendre EmptyInterceptor) et modifier votre requête sur onPrepareStatement(String sql)
.
Ce qui signifie que vous pourriez utiliser quelque chose comme my_array[1|300]
et le réécrire sous la forme my_array[1:300]
pour contourner le problème des paramètres nommés.
Modifier :Je ne suis pas sûr à 100% que ce qui précède fonctionne (réécriture du SQL natif et si l'analyseur de requête autoriserait le caractère spécial). J'ai seulement fait ce qui précède dans HQL et les critères où je transmettais l'indice d'index comme commentaire de requête.