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 un peu particulier


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 200
    Par défaut Mapping un peu particulier
    Bonjour à tous,

    Alors voilà mon problème c'est que je n'ai aucune idée de comment mapper mes mes classes (j'entends par là, je ne sais pas quelle relation utiliser où : one-to-many ? many-to-many ?).

    Je souhaite réaliser une application J2EE simple qui permet de prévoir un plan de charge.
    Pour cela, j'ai 3 choses :
    - Des ressources
    - Des applications
    - Des charges

    Mon modèle relationnel :

    RESSOURCE :
    - ID
    - NOM
    - PRENOM

    APPLICATION :
    - ID_APPLI
    - LIBELLE

    PLAN_CHARGE :
    # ID_RESSOURCE
    # ID_APPLICATION
    # DATE_CHARGE
    - CHARGE

    En parallèle à cela, j'ai 3 classes qui correspondent à ces tables : Ressource, Application et Charge.

    Comment, selon vous devrais-je mapper ces 3 classes entre elles ?

  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
    Citation Envoyé par Dark_TeToN Voir le message

    PLAN_CHARGE :
    # ID_RESSOURCE
    # ID_APPLICATION
    # DATE_CHARGE
    - CHARGE

    En parallèle à cela, j'ai 3 classes qui correspondent à ces tables : Ressource, Application et Charge.

    Comment, selon vous devrais-je mapper ces 3 classes entre elles ?
    Bonjour,
    La clé primaire de la table PLAN_CHARGE est une clé composée de ID_RESSOURCE et ID_APPLICATION c'est ça? ou cette clé inclut aussi la DATE_CHARGE?

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 200
    Par défaut
    Cette clef inclut aussi DATE_CHARGE. D'ailleurs autant pour moi j'ai fait une légère erreur :

    PLAN_CHARGE :
    # ID_RESSOURCE
    # ID_APPLICATION
    - DATE_CHARGE
    - CHARGE

    DATE_CHARGE n'est pas une clef étrangère comme aurait pu l'indiquer mon post. Mais la clef primaire est bien composée des trois colonnes suivantes :
    - ID_RESSOURCE
    - ID_APPLICATION
    - DATE_CHARGE

    Puisque pour UNE ressource, UNE APPLICATION à UNE DATE il n'y a qu'une seule charge possible ! Pour UNE ressource et UNE application, plusieurs dates sont possibles !

  4. #4
    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
    Eh bien tu vas créer un EmbeddedId pour l'entité PlanCharge, comme indiqué dans cet exemple ici

  5. #5
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 200
    Par défaut
    Pour mon mapping, je m'attendais plutôt à un fichier hbm... Normalement Hibernate embarque JPA si je ne m'abuse mais les annotations ne sont pas reconnues ! J'aurai préféré un fichier Charge.hbm.xml dans la mesure du possible...

    Je vais essayer pendant ce temps là de faire fonctionner les annotations...

    EDIT : Je ne peux même pas DL la librairie, j'avais du récupérer le .jar sur quelqu'un, mais l'accès à tous les DL est bloqué...

  6. #6
    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
    Citation Envoyé par Dark_TeToN Voir le message
    Pour mon mapping, je m'attendais plutôt à un fichier hbm... Normalement Hibernate embarque JPA si je ne m'abuse mais les annotations ne sont pas reconnues ! J'aurai préféré un fichier Charge.hbm.xml dans la mesure du possible...
    Si tu pars d'un existant qui t'impose les hbm plutot que les annotations,tu t'alignes.
    Citation Envoyé par Dark_TeToN Voir le message
    EDIT : Je ne peux même pas DL la librairie, j'avais du récupérer le .jar sur quelqu'un, mais l'accès à tous les DL est bloqué...
    J'ai pas compris...
    Mais personnellement je suis plutot annotations que fichiers, ça réduit déjà la taille du projet, et bien d'autres raisons...

Discussions similaires

  1. [XSLT]Tableau un peu particulier
    Par JohnBlatt dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 21/06/2006, 18h14
  2. Un tri un peu particulier
    Par GregPeck dans le forum Requêtes
    Réponses: 3
    Dernier message: 08/06/2006, 15h32
  3. Menu un peu particulier avec des onmouseover
    Par Jinroh77 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 21/02/2006, 14h30
  4. #define un peu particulier
    Par greuh dans le forum C
    Réponses: 14
    Dernier message: 12/10/2005, 16h42
  5. Réponses: 2
    Dernier message: 05/01/2004, 11h23

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