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

Persistance des données Java Discussion :

Stratégies de mapping d'héritage avec Hibernate / JPA [Tutoriel]


Sujet :

Persistance des données Java

Vue hybride

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


    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    7 855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 7 855
    Par défaut Stratégies de mapping d'héritage avec Hibernate / JPA
    Bonjour,

    Gérald Quintana (Objet Direct) vous propose un article sur la problématique de mapping Objet / Relationnel d'héritages :

    L'héritage est une des notions fondamentales de la programmation orientée objet. La plupart des bases de données relationnelles ne connaissent pas cette notion. Nous allons voir dans cet article comment Hibernate essaye de faire le grand écart entre le monde objet et le monde relationnel.
    Si vous avez des commentaires / remarques, profitez de ce fil de discussion.

  2. #2
    Membre très actif
    Avatar de Khaled.Noordin
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 354
    Billets dans le blog
    1
    Par défaut
    @ Gérald Quintana
    super, merci

  3. #3
    Membre éclairé Avatar de clubist
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2008
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Maine et Loire (Pays de la Loire)

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

    Informations forums :
    Inscription : Février 2008
    Messages : 217
    Par défaut
    Bonjour,

    merci beaucoup pour ce tutoriel.

    j'ai un petit souci concernant la deuxième stratégie: Une table par classe concrète.

    Pourquoi on a ajouté un champ DTYPE VARCHAR(255) dans chacune des deux tables : voiture et camion alors qu'on sait d'avant la nature d'objet( type de véhicule ) qui sera persisté(ou n'importe autre opération CRUD) dans un de ces tables ?

    et merci d'avance.

  4. #4
    Membre chevronné


    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    7 855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 7 855
    Par défaut
    Citation Envoyé par clubist Voir le message

    Pourquoi on a ajouté un champ DTYPE VARCHAR(255) dans chacune des deux tables : voiture et camion alors qu'on sait d'avant la nature d'objet( type de véhicule ) qui sera persisté(ou n'importe autre opération CRUD) dans un de ces tables ?
    C'est une erreur sur le MPD, la colonne est effectivement inutile. D'ailleurs elle n'apparaît pas dans les ordres INSERT.

  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
    Merci pour ce lien, il est très intuitif.
    Seulement je ne suis pas très d'accord avec :
    C'est une erreur sur le MPD, la colonne est effectivement inutile. D'ailleurs elle n'apparaît pas dans les ordres INSERT.
    T'as bien ce DTYPE dans ces instructions :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO Vehicule (immatriculation, nbPortes, DTYPE, id) VALUES ('1234AB', 5, 'Voiture', 1)
    A moins qu'on ne se comprenne pas, c'est une colonne obligatoire pour Hibernate, puisque t'as une table par hiérarchie d'héritage, Hibernate n'a pas d'autre moyen de distinguer les tables filles, non ?

  6. #6
    Membre chevronné


    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    7 855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 7 855
    Par défaut
    Tu me parlais de la stratégie "Une table par classe concrète."
    Or là tu fais référence à un INSERT sur la table Vehicule qui n'a pas d'existence dans cette stratégie.

Discussions similaires

  1. Problème de requête avec Hibernate (JPA)
    Par flamant dans le forum Hibernate
    Réponses: 3
    Dernier message: 16/03/2012, 09h17
  2. Mapping Objet-Relationel avec JPA :héritage
    Par ahmeddrira dans le forum Frameworks Web
    Réponses: 3
    Dernier message: 06/03/2012, 17h12
  3. Réponses: 0
    Dernier message: 04/10/2009, 16h19
  4. [débutant]problème avec Hibernate/JPA
    Par amnass dans le forum JPA
    Réponses: 5
    Dernier message: 19/05/2009, 15h02
  5. probleme avec le mapping d'association avec hibernate
    Par senediene dans le forum Hibernate
    Réponses: 2
    Dernier message: 10/08/2006, 13h59

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