EclipseLink: параметры собственных запросов и регулярные выражения - PullRequest
0 голосов
/ 23 апреля 2020

Я пытаюсь создать собственный запрос в 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. Другие нативные запросы без "?" в их регулярной работе выражения, как ожидалось. Кто-нибудь знает, как бороться с этой проблемой?

...