Настройки проекта: Java 8, Hibernate 5.3.1, Oracle 18c
Получение следующей ошибки при выполнении запросов с именованными или порядковыми параметрами. Происходит, только если параметры находятся внутри функции
выберите * из TABLE_PRIVILEGE где ((
json_exists (a.DATA, '$? (@. businessId in: businessId)')) и (
a.DATA. "resource" =: resource) и (json_exists (a.DATA, '$? (@. actions)
в: действия) ')))
При попытке установить любой из параметров, используемых в функции
Query # setParameter ("businessId", значение);
Исключение выдается
java.lang.IllegalArgumentException: Could not locate named parameter [businessId], expecting one of [resource]
at org.hibernate.query.internal.ParameterMetadataImpl.getNamedParameterDescriptor(ParameterMetadataImpl.java:218)
at org.hibernate.query.internal.ParameterMetadataImpl.getQueryParameter(ParameterMetadataImpl.java:187)
at org.hibernate.query.internal.QueryParameterBindingsImpl.resolveQueryParameter(QueryParameterBindingsImpl.java:460)
То же самое, если в собственном запросе мы используем порядковые параметры
выберите * из TABLE_PRIVILEGE где ((
json_exists (a.DATA, '$? (@. businessId in? 1)')) и (a.DATA.resource =
? 2) и (json_exists (a.DATA, '$? (@. Действия в? 3)')))
java.lang.IllegalArgumentException: Could not locate ordinal parameter [1], expecting one of [2]
at org.hibernate.query.internal.ParameterMetadataImpl.getOrdinalParameterDescriptor(ParameterMetadataImpl.java:143)
at org.hibernate.query.internal.ParameterMetadataImpl.getQueryParameter(ParameterMetadataImpl.java:193)
at org.hibernate.query.internal.AbstractProducedQuery.setParameter(AbstractProducedQuery.java:509)
at org.hibernate.query.internal.NativeQueryImpl.setParameter(NativeQueryImpl.java:608)
at org.hibernate.query.internal.NativeQueryImpl.setParameter(NativeQueryImpl.java:57)