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 :

Modifier une table à partir des fichiers de mapping [Core]


Sujet :

Hibernate Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 117
    Par défaut Modifier une table à partir des fichiers de mapping
    Bonjour,

    Je commence à travailler avec Hibernate. J'ai une petite question à laquelle je n'arrive pas à trouver de réponse.

    Je voudrais savoir s'il est possible de modifier les fichiers de mapping ".hbm.xml", afin de modifier automatiquement les tables dans la base. Par exemple, si je veux ajouter le champ "prénom" dans la table "personne", est-ce que je peux le faire directement dans le fichier "personne.hbm.xml", et l'appliquer directement sur la table personne en base ?

    Merci d'avance pour votre aide.

  2. #2
    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
    Non tu ne peux pas. Hbernate n'est pas concue pour modifier la structure d'un schéma une fois le contexte de persistence chargé, et de manière générale ce type d'opération est d'ailleurs à proscrire, ce sont des opérations relevant de l'administration. Imagine que plusieurs applications puissent se connecter sur le même schéma et qu'à un moment y'en a une des applications qui modifie la structure, tu vois le bordel que ça representerait pour d'autres appli l'utilisant. Essaie de revoir ton besoin autrement.Ou nous expliquer d'où provient un tel besoin

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

    Informations forums :
    Inscription : Août 2006
    Messages : 117
    Par défaut
    Bonjour,

    Merci pour ta réponse. Je comprends mieux. En fait, j'utilisait Doctrine, un ORM php avant. Et dans Doctrine, on pouvait réaliser ce genre d'opération. Mais je comprend les problèmes que c'est suceptible de poser.

    Encore merci .

  4. #4
    Invité de passage
    Homme Profil pro
    Inscrit en
    Août 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2012
    Messages : 1
    Par défaut FAUX
    Dans le fichier hibernate.properties mettre :
    hibernate.hbm2ddl.auto=create

    Ça peut être très utile pour maintenir à jour une base de donnée par rapport à une version logiciel sans se palucher des scripts.

  5. #5
    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
    Bonsoir, je tiens à re-preciser ma réponse, peut être j'ai été ambiguë, j'ai bien dit que ce n'était pas possible "à chaud" c'est à dire une fois l'application démarrée, mais bien sûr c'est possible au démarrage de l'application avec effectivement l'option ci dessous. Et je compléterai même en disant (update)
    Citation Envoyé par zany34 Voir le message
    Dans le fichier hibernate.properties mettre :
    hibernate.hbm2ddl.auto=create-update
    pour mettre à jour le schéma aussi.

    Citation Envoyé par zany34 Voir le message
    Ça peut être très utile pour maintenir à jour une base de donnée par rapport à une version logiciel sans se palucher des scripts.
    Argument mince, pour la simple raison que ce n'est pas au schéma de s'adapter au logiciel, mais bien l'inverse, il faut toujours avoir à l'esprit qu'un schéma peut être attaqué par plusieurs logiciels, et de langages différents, je n'encourage pas du tout cette pratique de modifier la structure d'un schéma depuis une application, ce sont des opérations de maintenance qui doivent être du ressort d'un DBA et doivent être complètement tracées.

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

Discussions similaires

  1. [MySQL] Afficher le contenu d'une table à partir des champs d'une autre
    Par cheik_koita dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 15/03/2009, 17h55
  2. Alimenter une table à partir de fichiers
    Par remys dans le forum kettle/PDI
    Réponses: 0
    Dernier message: 02/02/2009, 14h51
  3. Update d'une table à partir des données d'une autre
    Par gregoryacf dans le forum Langage SQL
    Réponses: 2
    Dernier message: 21/04/2008, 14h02
  4. modifié une table à partir d'une requete
    Par moicats dans le forum Access
    Réponses: 5
    Dernier message: 15/05/2006, 16h37
  5. Réponses: 1
    Dernier message: 23/01/2006, 18h53

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