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 Annotation] Mapper une classe abstraite


Sujet :

Hibernate Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 58
    Par défaut [Hibernate Annotation] Mapper une classe abstraite
    hello les jeunes lol,

    ptite question pour un mapping de classe avec les annotations hibernate :


    j'ai une classe abstraite nommée "Type". J'ai aussi 2 classes "FunctionalSkillType" et "TechnicalSkillType" qui herite de cette classe abstraite.

    Pour le mappin hibernate , je vais utiliser la strategie

    "Single table per class hierarchy" (1 table dans la BD donc, avec une colonne discriminator pour differencier les 2 sous classes)

    question que je me pose : ça pose problème ou pas mapper une classe abstraite ???

    Si non, est ce que du coup je pourrais faire comme cela, c-a-d :

    - ne pas mapper la classe "Type" vu qu'elle est abstraite..
    - mapper juste les classes "FunctionalSkillType" et "TechnicalSkillType" ayant chacune leur @Id, du coup j'aurais dans ma BD, 2 tables différentes.
    ça marcherait tout aussi bien non?

  2. #2
    Membre Expert
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Par défaut
    Salut, pour les classes abstraites, il y a l'attribut abstract de l'élément class : http://www.hibernate.org/hib_docs/v3...laration-class

    Sinon, pour l'héritage, tu as : http://www.hibernate.org/hib_docs/v3...heritance.html

    Bon développement

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    J'ai un truc ressemblant, je mappe uniquement les classes enfants et non la classe "mère" (abstraite ou non) et ca marche tres bien

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 58
    Par défaut
    Merci pour vos réponses,

    pour la réponse de Nesmontou, je n'ai pas trouvé l'équivalent pour abstract avec l'utilisation des annotations Hibernate.

    pour la réponse de nesbla, effectivement je comptais faire comme ça mais je me suis rendu compte que la classe "Skill" possède des méthodes abstraites bien sûr..mais aussi des méthodes implémentées. du coup, si je mappe pas la classe mère.., je perdrais ces méthodes implémentées...(je mappe du code qui n'a pas été fait par moi meme lol)

    à priori , il n'y aurait rien à spécifier... , on mapperait une classe abstraite tout comme on mappe une classe "classique" alors ..

Discussions similaires

  1. [JPA/Hibernate] Mapper une classe sur plusieurs tables
    Par lamoua76 dans le forum Persistance des données
    Réponses: 4
    Dernier message: 19/01/2012, 11h43
  2. [Hibernate] Mapper une classe association
    Par mauvais_karma dans le forum Hibernate
    Réponses: 16
    Dernier message: 25/01/2006, 12h34
  3. Réponses: 10
    Dernier message: 10/01/2006, 14h14
  4. Réponses: 2
    Dernier message: 27/03/2005, 16h09
  5. [Debutant] Une classe abstraite en parametre ?
    Par kiroukou dans le forum Débuter
    Réponses: 8
    Dernier message: 03/02/2005, 15h05

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