Я пытаюсь создать собственный запрос в EclipseLink с регулярным выражением с оператором вопросительного знака (?). Пример:
REGEXP_SUBSTR(f_busca_valor_ficha(p.codigo_empresa, p.codigo_item, p.versao_item, null, 1), '[0-9]?[, [0-9]+]?', 1, 1)
Проблема в том, что Eclipselink принимает только индексированные параметры в собственных запросах: https://www.eclipse.org/eclipselink/documentation/2.7/concepts/queries005.htm
Я пытался использовать позиционные параметры, но они всегда возвращают " Недопустимое исключение типа столбца ":
q.setParameter(1, statusParameter);
Единственный способ устранить ошибку - заменить параметры непосредственно в строке методом replaceFirst. Другие нативные запросы без "?" в их регулярной работе выражения, как ожидалось. Кто-нибудь знает, как бороться с этой проблемой?