Строковые функции в JPA в топлинке (OAS 10.1.3.n)

Я пытаюсь выполнить следующий запрос:

SELECT DISTINCT SUBSTRING(c.name, 1, 1) FROM Country c

опять же топлинк, который связан с Oracle Application Server 10.1.3.3, но я получил сообщение об ошибке:

SUBSTRING token not recognized

Вопрос в том, не поддерживает ли toplink 10.1.3.n строковые функции? (Я уверен, что это JPA1.0, не так ли? Согласно спецификациям v1.0, SUBSTRING должна поддерживаться, так почему же toplink 10.1.3.n не включает ее?

Спасибо.


person Muhammad Hewedy    schedule 14.12.2010    source источник


Ответы (1)


Наличие функций в предложении select запроса JPQL не поддерживалось JPA 1.0. Обновление до TopLink 11.1.1.3.0 обеспечит функциональность JPA 2.0 и поддержку функций в предложении выбора JPQL.

Вы всегда можете выполнить собственный SQL или использовать TopLink ReportQuery в TopLink 10.1.3.3

person Gordon Yorke    schedule 14.12.2010
comment
Да, но не в предложении select. Агрегатные функции, такие как SUM или AVG, были единственными функциями, разрешенными в предложении select в JPA 1.0. - person Gordon Yorke; 15.12.2010