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 :

comment utiliser 3 tables avec plusieurs base de donnes ?


Sujet :

Hibernate Java

  1. #1
    Membre habitué
    Avatar de jeha
    Inscrit en
    Octobre 2005
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 127
    Points : 193
    Points
    193
    Par défaut comment utiliser 3 tables avec plusieurs base de donnes ?
    Bonjour,
    Je suis actuellement dans un stage de fin d’étude sur une application J2EE strouts +spring+hibernat

    Le problème dans mon stage est que la société utilise trois Base de donne sur sql serveur et utiliser une application .net qui fait appelle a des requêtes sur des tables qui sont dans plusieurs base de donne

    Par exemple table utilisateur dans la base1 et table valeur dans la base2 , avec une requete de type jointure.

    Un exemple d’une requete sqlserveur :


    SELECT CONVERT(nvarchar, or_detail.ORD_Date, 103) AS DATE, CASE WHEN or_detail.ORD_Marche='C' then 'CENTRAL' else 'DE BLOC' end AS MARCHE, CASE WHEN or_detail.ORD_Sens = 'A' THEN 'ACHAT' WHEN or_detail.ORD_Sens = 'V' THEN 'VENTE' ELSE or_detail.ORD_Sens END AS SENS,or_detail.Or_Statut AS STATUT, or_detail.ORD_Sdb AS SDB, mc_gen.dbo.affilie.Aff_Nom AS 'SDB Libelle', titulaire.Tit_RIB_Compte AS TITULAIRE,titulaire.Tit_Nom AS ' NOM.TIT ', mc_gen.dbo.valeur.Val_AMC_Code AS VALEUR, mc_gen.dbo.valeur.Val_Lib_court AS LIBELLE, or_detail.ORD_Qte AS QUANTITE, CASE WHEN or_detail.ORD_Cours = 0 THEN 'Au mieux' ELSE CONVERT(nvarchar, or_detail.ORD_Cours) END AS COURS FROM or_detail LEFT OUTER JOIN mc_gen.dbo.valeur ON or_detail.ORD_Val = mc_gen.dbo.valeur.Val_ISIN_Code LEFT OUTER JOIN titulaire ON or_detail.ORD_Tit = titulaire.Tit_Code LEFT OUTER JOIN mc_gen.dbo.affilie ON or_detail.ORD_Sdb = mc_gen.dbo.affilie.Aff_Code where"...
    Est-ce que vous pouvez me dire comment je peut exécuter une requet join sur trois table si chaque table est dans une base de donne

    Table or_detail dans base mc_001
    Table affilie dans base mc_gen
    Table titulaire dans base..

    Merci pour vos réponses !

  2. #2
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Points : 2 336
    Points
    2 336
    Par défaut
    utilise jdbcTemplate par spring avec hibernate je doute que cela soit possible a moins que tu puisses spécifier plusieurs datasource et récupéréer des sessionFactory pour chacune des datasources d effectué une requete individuelle pour chaque base et d ensuite utilisé ces résultats dans d autres requetes en tant que paramètres

    mais avec jdbcTemplate c'est plus simple ...

  3. #3
    Membre habitué
    Avatar de jeha
    Inscrit en
    Octobre 2005
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 127
    Points : 193
    Points
    193
    Par défaut
    v vrais que j'ai testé l'utilisation de 2 sessionFactory pour chaque base ce qui me donne une connexion séparer de l'autre !!!

    donc est ce qu'on peut avoir un exemple sur l'utilisation de 2 base de donnée dans une seule requête...

    et ce qui m'étonne que dotnet a pu faire une connexion avec 2 base de donnée et exécuter une requête qui ressemble les 2.

    et merci

  4. #4
    Membre habitué
    Avatar de jeha
    Inscrit en
    Octobre 2005
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 127
    Points : 193
    Points
    193
    Par défaut
    Comment résoudre ce problème ? SVP STP

  5. #5
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    De ce que je comprends à ton problème tu devrais te diriger vers l'utilisation d'hibernate shards qui est prévu pour la gestion de multiples sessions de bases.

    Sinon une autre solution: http://jblooming.blogspot.com/2008/0...databases.html
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  6. #6
    Membre habitué
    Avatar de jeha
    Inscrit en
    Octobre 2005
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 127
    Points : 193
    Points
    193
    Par défaut
    on fin

    j'ai trouve la solution dans la forum de hibernate.org

    merci pour tous et ce lien pour les gents qu'ont le même problème comme moi

    http://forum.hibernate.org/viewtopic.php?t=991422



    Bonjour,

    Pour résoudre ce problème nous avons créé des vues d'une base sur l'autre et mappé les vues comme étant des tables dans Hibernate.

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

Discussions similaires

  1. [2.x] [FosUserBundle] Utilisation avec plusieurs bases de données
    Par fabienlege dans le forum Symfony
    Réponses: 1
    Dernier message: 18/01/2013, 11h17
  2. Réponses: 3
    Dernier message: 21/01/2009, 09h35
  3. Réponses: 3
    Dernier message: 03/10/2007, 00h59
  4. Réponses: 3
    Dernier message: 22/09/2007, 13h56

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