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 :

Schéma de base de données


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2008
    Messages : 48
    Par défaut Schéma de base de données
    Salut à tous

    Après avoir réussi à me connecter et à faire des mises à jour (select - insert - update - delete) avec une base de données Oracle, je dois compliquer un peu l'application en incluant la possibilité de modifier le schema de la base de données (j'espère que je suis assez précis car c'est une notion que je ne connais pas bien).

    => si j'ai bien compris, le but est de préciser dans quelle base de données se trouve la table sur laquelle je travaille
    => ex : createQuery("from MaDB.MaTable where id = 1)

    'MaBD' pouvant varier

    Je dois pouvoir préciser le nom du schéma au moment de la connexion entre hibernate et ma base de données oracle. Je pense que cela doit être fait au moment où je me connecte mais je ne vois pas / je ne sais pas du tout comment faire.

    Je précise que dans le fichier de configuration hibernate les paramètres sont présents :
    - hibernate.connection.driver_class
    - hibernate.connection.url
    - hibernate.connection.username
    - hibernate.connection.password

    j'avais pensé au fait de mettre de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <property name="hibernate.default_schema">MyBD</property>
    mais ce n'est pas la solution car la valeur peut changer dans l'application

    toute aide est la bienvenue ainsi que de la doc pour de plus amples explications

  2. #2
    Membre émérite Avatar de slim
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2002
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2002
    Messages : 938
    Par défaut
    Salut,
    une fois que tu as bien fais ta configuration hibernate, il n'est pas nécessaire de mettre le nom de la base de données dans tes requêtes. Il faut mettre directement le nom de la table.

    Il y a pas mal de tutos sur developpez.com et bien sur Google
    Faites une recherche sur le forum et/ou sur internet et lisez la doc officielle avant de poser une question svp.
    et n'oubliez pas de lire les FAQ !
    FAQ Java et les cours et tutoriels Java
    Doc JAVA officielle
    AngularJS 1.x
    Angular 2

    Do it simple... and RTFM !

  3. #3
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Par défaut
    Citation Envoyé par slim Voir le message
    Salut,
    une fois que tu as bien fais ta configuration hibernate, il n'est pas nécessaire de mettre le nom de la base de données dans tes requêtes. Il faut mettre directement le nom de la table.

    Il y a pas mal de tutos sur developpez.com et bien sur Google
    Je ne pense pas que ce soit sa question. Si j'ai bien compris il veut pouvoir switcher dynamiquement de base de donnée (ou schéma) eh ben si tel est le cas, tu risques te passer d'hibernate et faire du natif, c'est à dire connexion jdbc classique. J'avais déjà eu recours à ça dans un projet, ca marchait bien sauf que c'est pas très maintenable

  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 gérer tes paramètres de façon programmatique et donc faire du dynamique. Regarde du côté de la classe Configuration.

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

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Sinon sous oracle tu peux faire en sorte de créer des synonymes portant sur les tables d'un autre schéma pour pouvoir faire des requêtes dessus sans avoir besoin de les préfixer avec le nom du schéma.

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    create synonym MA_TABLE for MON_SCHEMA.MA_TABLE
    .

    Cela nécessite toutefois que le user créant ce synonyme ait les droits nécessaires pour les update/create/delete/insert sur les dites tables

    Comme ça plus de complexité côté hibernate

Discussions similaires

  1. Outil de suivi du schéma de base de données
    Par phamdac dans le forum Outils
    Réponses: 2
    Dernier message: 08/07/2008, 15h20
  2. Réponses: 3
    Dernier message: 06/06/2008, 14h40
  3. Réponses: 1
    Dernier message: 21/03/2008, 11h59
  4. Réponses: 1
    Dernier message: 03/10/2006, 11h22
  5. Comparer deux schémas de base de données
    Par Killing Joke dans le forum Oracle
    Réponses: 1
    Dernier message: 22/02/2006, 14h25

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