IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Hibernate Java Discussion :

Appel procédure stockée


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de eulbobo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2003
    Messages : 786
    Par défaut Appel procédure stockée
    Bonjour

    Pour des soucis de rapidité, j'aimerai pouvoir appeller une procedure stockée dans ma base Oracle dans une requete HQL. Je suis sous Hibernate 3 et le but de la fonction est de renvoyer 1 ou 0 selon les 2 parametres qui sont passés.

    Donc avoir une requete HQL du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    from element in element.class where 1=1 and marketExists(element.marketLab, :markets) and...
    Tout ce que j'ai trouvé dans mes recherches, c'est l'appel de procédures en tant que tel, mais ma requete est générée selon des criteres de recherches et je ne peux pas avoir une fonction générique pour toutes les recherches possibles

    J'ai essayé de redéfinir un dialecte qui étende le OracleDialect pour y ajouter ma fonction avec la methode registerFunction, mais je n'ai pas l'impression que ca marche
    Voila ce que j'ai mis dans le constructeur de mon dialecte
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    super();
    super.registerFunction("marketExists", new SQLFunctionTemplate(Hibernate.INTEGER, "marketExists(?1, ?2)"));//$NON-NLS-1$//$NON-NLS-2$
    Tout ce que j'obtiens pour l'instant, c'est une QuerySyntaxException avec comme cause : unexpected AST node à l'endroit ou j'appelle ma fonction

    Si quelqu'un a une idée pour appeller une procédure stockée au sein de ma requete, je suis preneur
    Si vous voulez plus d'infos, hésitez pas à demander

  2. #2
    Membre Expert
    Avatar de eulbobo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2003
    Messages : 786
    Par défaut
    Bon, alors pour ceux qui auraient le meme probleme que moi, voila la solution.

    A partir du moment ou vous faites appel à une procedure stockée dans la clause where, il n'y a rien besoin de faire.

    Dans mon cas, la fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    from element in element.class where 1 = 1 and
    marketExists(element.marketLab, :markets) = 1 and ...
    fonctionne parfaitement sans rien devoir configurer en particulier (pas besoin de reconfigurer un dialecte). Il faut juste que la fonction soit "visible" par l'utilisateur avec lequel vous vous connectez.

    Et n'oubliez pas de donner à cet utilisateur le droit d'executer la fonction, ca aide aussi.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Appel Procédure stockée SQL qui plante
    Par Daniel MOREAU dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 05/04/2007, 08h55
  2. [PHP5]Appel procédure stockée
    Par maKyo dans le forum DB2
    Réponses: 2
    Dernier message: 02/03/2007, 11h04
  3. Réponses: 2
    Dernier message: 20/03/2006, 09h39
  4. Appeler Procédure stockée depuis ACCESS
    Par Sunny dans le forum Access
    Réponses: 2
    Dernier message: 13/09/2005, 22h07
  5. [PL/SQL] Appel procédure stockée dans trigger
    Par Félia dans le forum Oracle
    Réponses: 3
    Dernier message: 24/01/2005, 17h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo