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 :

Hibernate et procédure stockée


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé

    Profil pro
    MOA
    Inscrit en
    Décembre 2002
    Messages
    1 220
    Détails du profil
    Informations personnelles :
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : MOA

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 220
    Par défaut Hibernate et procédure stockée
    Bonjour ,

    Je pense avoir compris l'interet d'hibernate :
    mapper des tables de base de données en objet java, en objet persistant.

    Cela est intéressant lorsque l'on fait les calculs d'insertion coté client.

    Par exemple lorsque l'on fait une insertion de données dans 2 tables avec une jointure
    client
    nom
    nb_personne
    id_contact

    contact
    id_contact
    nom
    prenom

    L'insertion peut se faire coté client en Java avec hibernate mais cela peut aussi etre interessant de le faire coté serveur en PL/SQL.

    Dans ce cas, l'interet d'hibernet est bien moindre non ?
    Est ce que l'on peux faire des appels à des procédures avec hibernate ?

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 276
    Par défaut
    Oui, tu peux accéder à des procédures stockées avec Hibernate.
    Après, à toi de voir si tu veux maintenir ton code Java/Hibernate ou ton code Java et tes procédures côté base de données.

  3. #3
    Membre éclairé Avatar de adil_vpb
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2006
    Messages
    326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 326
    Par défaut
    Bonjour,
    j'aimerai bien savoir comment puis-je faire pour appeler une procédure stockée ? est ce que c'est possible de l'appeler directement avec son nom : dans le code java ? ou bien il fallait que je la map ?

    Merci d'avance.

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 276
    Par défaut
    Tu peux utiliser la méthode connection() de ton objet session pour récupérer une "Connection" et ensuite appeler la méthode prepareCall(String) sur cet objet.
    Regarde la doc et l'API Hibernate à ce sujet

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 13
    Par défaut
    bonjour
    perso je trouve que repasser en jdbc "pure" alors qu'on utilise hibernate s'est domage.
    Pour appeler une proc stock par Hibernate, j'utilise un fichier de mapping avec une named query
    exemple
    <hibernate-mapping>
    <sql-query name="maProc" callable="true" >
    {call PROCSTOCK(:1P,:2P)}
    </sql-query>
    </hibernate-mapping>

    dans la classe java je fais
    Query query = getSession().getNamedQuery("maProc");
    query.setString("1P", val1);
    query.setString("2P", val2);
    query.list();

    Attention la proc stock doit obligatoirement retourner une valeur, sans quoi il y a une exception de levée. On peut toujours la catcher et passer outre mais c'est pas classe.

    voila

  6. #6
    Membre chevronné Avatar de djsnipe
    Inscrit en
    Mai 2008
    Messages
    440
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 440
    Par défaut
    Comme tu le dis, cette technique à des limites.
    Pour plus de détails, la doc est très détaillée : http://www.hibernate.org/hib_docs/v3...oredprocedures

Discussions similaires

  1. Procédures stockées avec hibernate
    Par darknight59 dans le forum Hibernate
    Réponses: 4
    Dernier message: 08/06/2011, 11h17
  2. Hibernate Procédure stockée
    Par haskouse dans le forum Hibernate
    Réponses: 4
    Dernier message: 15/02/2011, 18h14
  3. Procédure stockée & Hibernate
    Par dev123 dans le forum Hibernate
    Réponses: 1
    Dernier message: 05/09/2008, 22h36
  4. Passer des procédures stockées à Hibernate
    Par zizoux5 dans le forum Hibernate
    Réponses: 2
    Dernier message: 11/04/2007, 13h08
  5. Réponses: 1
    Dernier message: 28/06/2005, 15h45

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