2010-12-14 49 views
1

J'essaie la requête suivante:Fonctions de chaîne dans JPA dans TopLink (OEA 10.1.3.n)

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

againest TopLink qui est livré avec Oracle Application Server 10.1.3.3 mais je suis une erreur en disant:

SUBSTRING token not recognized

La question est, ne TopLink pas 10.1.3.n fonctions de chaîne de soutien? (Je suis sûr qu'il est JPA1.0, non? Selon les spécifications de la version 1.0, SUBSTRING doit être pris en charge, alors pourquoi TopLink 10.1.3.n ne comprend pas?

Merci.

Répondre

1

ayant des fonctions au sein de la clause select d'une requête JPQL n'a pas été pris en charge par JPA 1.0. Mise à niveau vers TopLink 11.1.1.3.0 fournira des fonctionnalités JPA 2.0 et le support des fonctions dans la clause select JPQL.

Vous pouvez toujours émettre un SQL natif ou utiliser un TopLink ReportQuery dans TopLink 10.1.3.3

+0

JPA1.0 Les spécifications indiquent que SUBSTRING existe déjà! –

+0

Oui, mais pas dans la clause select. Les fonctions agrégées telles que SUM ou AVG étaient les seules fonctions autorisées dans la clause select de JPA 1.0 –