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 :

[Debutant]Mapping pour une collection


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 71
    Par défaut [Debutant]Mapping pour une collection
    Bonjour,

    je me suis lancé ds Hibernate, ...

    J'adopte une demarche sensiblement différente des démarches "courantes" car en fait j'ai developpé un projet avec une persistence en XML et je veux passer a une persistence hibernate ... J'ai donc des objets java a "mapper" vers de la base oracle et non l'inverse comme c'est souvent le cas !

    Mon problème en fait doit être assez simple pour les gens habitués ...

    J'ai une classe MaClasse qui possède 3 attributs :

    Id : un string qui me sert d'identifiant.
    Att1 : un String pour de l'information.
    AttCollection : une collection d'instances de MaClasse2.

    Comment dois-je écrire le fichier de mapping hbm.xml ?

    Pour l'instance j'ai un truc comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <hibernate-mapping package="com.sopragroup.appmanager.model">
      <class name="MaClasse">
    	<id name="Id" column="MACLASSE_ID">
    	      <generator class="uuid" />
                 </id>
    	<property name="att1" column="MACLASSE_ATT1"></property>
    	<set name="att2" cascade="save-update" inverse="true">
    	 <key column="COLONNE_2" />
    	 <one-to-many class="le.package.MaClasse2" />
    	</set>
       </class>
    </hibernate-mapping>
    je crois que je me suis perdu en route ... je suis perdu ...

    Merci d'avance a ceux qui prendront 1 minute pour moi !

  2. #2
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 16
    Par défaut
    Salut,

    Il manque un attibut type pour ton élément property, sinon le reste me semble correct.

    Au plaisir.

  3. #3
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Par défaut
    Tout pareil

  4. #4
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 71
    Par défaut
    En fait je ne sais pas comment je dois stocker cette collection ...

    Je dois avoir une table entre les deux ??? qui stock des couples idMaclasse1 / IdMaclasse2 ... ou alors c'est dans la table MACLASSE2 que j'aurais autant de lignes que d'elements dans ma collection java et cette table aurait un champ MaClasse1_ID ???

    Je crois que je ne suis pas clair

  5. #5
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 71
    Par défaut
    Voila ce qu'il me met !!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    org.hibernate.PropertyAccessException: IllegalArgumentException occurred while calling setter of mon.package.MaClasse1.attCollection
    ... le mechant !

  6. #6
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Par défaut
    Ben il faut que tu réfléchisse si c'est une relation 1-n ou n-m ... Une instance de classe 2 est rattachée à un seul objet de classe 1 ou pas ?
    Si oui, alors c'est ta deuxième solution, sauf que ta colonne en base s'appelle "MACLASSE_ATT1" d'après ton fichier de mapping

  7. #7
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 71
    Par défaut
    Une chose est sure c'est : "une instance de classe2 n'est rattachée qu'a une seule instance de maClasse1 " !!!

  8. #8
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Par défaut
    Ben montre le "setter of mon.package.MaClasse1.attCollection" ...

Discussions similaires

  1. [Hibernate] mapping d'une collection
    Par Jorus dans le forum Hibernate
    Réponses: 22
    Dernier message: 01/12/2008, 17h16
  2. Réponses: 8
    Dernier message: 27/08/2008, 18h36
  3. Deux mappings pour une seule et même classe
    Par myocean dans le forum Hibernate
    Réponses: 3
    Dernier message: 18/04/2008, 16h43
  4. Erreur MySQL suite au mapping d'une collection
    Par K-Kaï dans le forum Hibernate
    Réponses: 8
    Dernier message: 08/06/2007, 15h48
  5. DEBUTANT - Aide pour une requête MYSQL
    Par kryogen dans le forum Langage SQL
    Réponses: 9
    Dernier message: 23/03/2007, 14h30

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