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 :

Mapping de l'heritage


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Sr. Software Engineer
    Inscrit en
    Août 2007
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Software Engineer

    Informations forums :
    Inscription : Août 2007
    Messages : 169
    Par défaut Mapping de l'heritage
    Bonjour,

    j'aimerai savoir s'l est possible de mapper l'héritage en utilisant des fichier.hbm séparées (un pour chaque sous-classe). si oui un petit exemple de syntaxe serait le bienvenu.
    L'idée est de ne pas avoir un gros fichier à tout faire qui deviendrai très vite toufu.

    merci

  2. #2
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 110
    Par défaut exemple héritage
    j'en ai un justement le voici !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    <!-- exemple d'héritage -->
     
    <!--
    Personne <----- Indep
              |---- Salarie -->
     
    <!-- personne.hbm.xml -->
     
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    <hibernate-mapping package="hr" schema="public">
    	<class name="Personne" table="people">
    		<id name="id" column="id">
    			<generator class="sequence">
    				<param name="sequence">HR_SEQ</param>
    				<param name="initial_value">1</param>
    			</generator>
    		</id>
    		<property name="addr" />
    		<property name="name" />
    		<property name="lastname" />
    		<property name="year"/>
    		<!-- les objets : Email, Tel-->
    		<component name="email" class="Email">
    			<property name="eaddr" type="java.lang.String"/>
    		</component>
    		<component name="tel" class="Tel">
    			<property name="country" />
    			<property name="number"/>
    			<property name="prefix" />
    		</component>
    			<!-- stratégie utilisée : une table par classe fille voir fichier séparé-->
    	</class>	
    </hibernate-mapping>
     
    <!-- Indep.hbm.xml -->
     
    <?xml version="1.0" encoding="UTF-8"?>
     
    <!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
     
    <hibernate-mapping package="hr" schema="public">
    	<joined-subclass name="Indep" extends="Personne" table="Freelance">
    			<key column="id"/>
    			<property name="company" column="corp"/>
    		</joined-subclass>
    </hibernate-mapping>
     
    <!-- Salarie.hbm.xml -->
     
    <?xml version="1.0" encoding="UTF-8"?>
     
    <!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
     
    <hibernate-mapping package="hr" schema="public">
    <joined-subclass name="Salarie" extends="Personne" table="Employe">
    			<key column="id"/>
    			<property name="dept" column="dept"/>
    			<property name="fct" column="function"/>
    		</joined-subclass>
    </hibernate-mapping>
    et il tourne ! le reste de la config est typique.

    J'espère que cela t'aidera mais tu trouveras beaucoup plus de donnée sur l'héritage si tu vas voir la documentation d'hibernate !

  3. #3
    Membre confirmé
    Profil pro
    Sr. Software Engineer
    Inscrit en
    Août 2007
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Software Engineer

    Informations forums :
    Inscription : Août 2007
    Messages : 169
    Par défaut
    merci,

    c'est exactement ce dont j'avais besoin car en lisant la doc hibernate j'ai constaté que tout était mis ds le meme fichier.

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2011
    Messages : 4
    Par défaut
    Bonjour

    Merci pour cet exemple

    En fait j'ai à mapper un bdd oracle qui contient trois tables (M, F1, F2 (F1 et F2 héritent de M)). donc la stratégie est Une table par classe fille

    le pb est que les trois tables ont chacune une séquence pour la génération de l'identifiant donc les deux classes filles peuvent avoir des enregistrement avec des mêmes identifiants je pense donc comment faire le lien entre un enregistrement de la classe fille et son correspondant dans la classe mère

    Merci d'avance

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

Discussions similaires

  1. Mapping Heritage
    Par karim_sousse dans le forum Hibernate
    Réponses: 1
    Dernier message: 25/06/2009, 16h10
  2. Mapping annotation une histoire d'heritage :)
    Par nadhem dans le forum Hibernate
    Réponses: 1
    Dernier message: 17/03/2008, 11h08
  3. Mapping hibernate - Heritage & Collections
    Par hipchic dans le forum Hibernate
    Réponses: 1
    Dernier message: 05/01/2007, 22h26
  4. Réponses: 1
    Dernier message: 26/06/2006, 10h21
  5. [Hibernate] l'heritage et le mapping
    Par abdess6600 dans le forum Hibernate
    Réponses: 5
    Dernier message: 24/05/2006, 10h02

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