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 :

Difficulté sur l'approche pour concevoir un mapping HBM d' après un diagram de class


Sujet :

Hibernate Java

  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2006
    Messages : 69
    Points : 186
    Points
    186
    Par défaut Difficulté sur l'approche pour concevoir un mapping HBM d' après un diagram de class
    Bonjour à tous,

    J'ai fait un diagramme de class (ci-joint) pour représenter un prototype de CRM, et je rencontre une difficulté pour concevoir mes fichiers de mapping hbm.

    Pour description j'ai les class suivantes:

    Offre , Vendeur, Client, Personne, Adresse, Competence.

    - Offre est liée à Client et à Vendeur
    - Client et Vendeur hérite de la Class Personne
    - Adresse est une agrégation à Client
    - Competence et liée à Vendeur

    Comme Client et Vendeur hérite de Personne, j'ai fait un fichier de mapping Personne.hbm.xml avec les entrées '<subclass Client ../>' et '<subclass Vendeur .../>'

    Le problème c'est que Client et Vendeur sont aussi liés à Offre et de ce fait je pensais créer des fichier de mapping pour Vendeur et Client, et la ça coince.

    Je pense que le modèle pourra aider à illustré mes propos.

    Merci de votre aide !
    Images attachées Images attachées  

  2. #2
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2006
    Messages : 69
    Points : 186
    Points
    186
    Par défaut
    J'ai résolu ce problème de mon côté ( comme quoi 9 heures plus tard on y arrive toujours )

    Voici ma solution :

    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
    68
    69
    70
    71
    72
    73
     
     
    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping SYSTEM
        "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
     
    <hibernate-mapping package="ch.ifage.hibernate.ms.model">
     
    	<class name="Personne" table="Personne" batch-size="10">
     
    	 	<id name="idPersonne"  column="ID_PERSONNE" type="long">
    	 	 		<generator class="increment"/>
    		</id>
     
    		<property name="nom" column="NOM"/>
    		<property name="prenom" column="PRENOM"/>
    		<property name="email" column="EMAIL"/>
    		<property name="telephone" column="TELEPHONE"/>
    		<property name="genre" column="GENRE"/>
    		<property name="dateCreation" column="DATE_CREATION"/>
     
     
    		<joined-subclass name="Client" table="CLIENT" >
    			<key column="ID_PERSONNE"/>
    			<property   name="societe" />
    			<property   name="ranking" type="int" />
     
    				<component	name="office" class="Adresse">
    					<property	name="rue" type="string" column="OFFICE_RUE" not-null="true"/>
    					<property	name="ville" type="string" column="OFFICE_VILLE" not-null="true"/>
    					<property	name="codePostal" type="int" column="OFFICE_CODEPOSTAL" not-null="true"/>
    					<property	name="pays" type="string" column="OFFICE_PAYS" not-null="true"/>
    				</component>
     
    				<bag name="offreRecueS" 
    					inverse="true" 
    					lazy="false"
    					cascade="save-update, merge" >
    					<key column="ID_CLIENT"/>
    					<one-to-many class="Offre" />
    				</bag>
     
    		</joined-subclass>
     
     
    		<joined-subclass name="Vendeur" table="VENDEUR" batch-size="10" lazy="false">
    			<key column="ID_PERSONNE"/>
     
    			<property   name="ranking" type="int" />
     
     
    				<set name="competenceS" 
    					lazy="extra"
    					table="COMPETENCE_VENDEUR"	 
    					cascade="save-update"
    					fetch="join">
    						<key column="ID_VENDEUR" />
    						<many-to-many class="Competence" column="ID_COMPETENCE"/>
    				</set>
     
    				<bag name="offreFaiteS" 
    					lazy="extra"
    					inverse="true" 
    					cascade="save-update, merge"
    					fetch="join">
    					<key column="ID_VENDEUR"/>
    					<one-to-many class="Offre"/>
    				</bag>		
    		</joined-subclass>
     
    	</class>
     
    </hibernate-mapping>

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/04/2015, 15h55
  2. Quel outil utilisez vous pour concevoir vos bases de données
    Par Matthieu Brucher dans le forum Outils
    Réponses: 93
    Dernier message: 01/08/2014, 16h20
  3. [Google Maps] Quelle approche pour développer une application google maps (JS/PHP/MySQL)
    Par ggive dans le forum APIs Google
    Réponses: 0
    Dernier message: 23/11/2011, 16h17
  4. Réponses: 1
    Dernier message: 09/08/2008, 00h58
  5. Demande d'aide pour concevoir un algo de routage sur un graphe.
    Par condor_01 dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 12/11/2007, 13h02

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