私はPostgreSQLを使用していませんが、この問題の適切な解決策が見つからない場合は、インターセプターを実装し(EmptyInterceptorを拡張)、onPrepareStatement(String sql)
でクエリを変更できます。 。
つまり、my_array[1|300]
のようなものを使用している可能性があります my_array[1:300]
として書き直します 名前付きパラメータの問題を回避します。
編集 :上記が機能するかどうかは100%わかりません(ネイティブSQLを書き換え、クエリパーサーが特殊文字を許可するかどうか)。上記は、HQLと、インデックスヒントをクエリコメントとして渡す基準でのみ実行しました。