Comment échapper le caractère : avec hibernate ?
Bonjour,
tout d'abord je tiens à m'excuser d'avance si je ne poste pas dans le bon forum, j'ai bien mis 10min à savoir où j'allais poster ! Merci de me prévenir si je me suis tromper. :)
Alors mon problème concerne une fonction spécifique oracle qu'est xmlelement. Mais je pense que le problème vient concrètement d'hibernate.
Voici mon SQL :
Code:
1 2 3 4 5
|
SELECT xmlelement("ouvrage", xmlattributes(
'http://www.opengis.net/gml' as "xmlns:gml"),
xmlforest(xmltype(sdo_util.to_gmlgeometry(geometry)) as "gml:geometryProperty"))
AS theXMLElements FROM ouvrage WHERE id_ouvrage = 'toto'; |
Alors comme vous pouvez le voir j'utilise des fonctions géométriques, mais ce n'est pas cela qui me pose problème.
Si j'exécute cette requête directement sous SQL Plus, elle fonctionne sans soucis.
Si je l'exécute avec Hibernate j'obtiens l'erreur suivante :
Citation:
org.hibernate.QueryException: Not all named parameters have been set: [gml", geometryProperty"] [...]
En fait dans le chaînes mises en gras dans le premier extrait, vous pouvez constater qu'il y a des ":" qui sépare mes mots. Et apparemment hibernate n'aime pas cela ! En effet quand je les enlève, ma requête avec hibernate fonctionne sans soucis. Cependant j'ai besoin des mes ":" ! Je suis donc dans l'impasse !
Est-ce que cette exception est normal ? Y a t'il un quelconque caractère d'échappement qui pourrait m'aider que je ne connais pas ?
Merci beaucoup d'avance pour votre aide !
Cordialement,
ReiVon.
EDIT : Bon, en fait le ":" est utilisé pour les paramètres nommés. Mais comment "escape" ce symbole svp ? Je n'ai trouvé aucun moyen pour le moment ...