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 Récursif ?


Sujet :

Hibernate Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 5
    Par défaut Mapping Récursif ?
    Bonjour,

    j'ai un petit souci à Mapper une relation type Père-Fils.

    Mon entite.xml :

    <class name="com.prod.cy.catalogue.mapping.Node" table="catalogue"
    dynamic-insert="true" dynamic-update="true">

    <id name="_id" column="ID">
    <generator class="native" />
    </id>



    <many-to-one name="_parent"
    class="com.prod.cy.catalogue.mapping.Node" column="PARENT_ID"
    not-null="false" />

    <set name="_nodeEntries"
    sort="com.prod.cy.catalogue.mapping.NodeComparator"
    order-by="lower(name) asc" cascade="all" >
    <key column="PARENT_ID" not-null="false" foreign-key="true" />
    <one-to-many class="com.prod.cy.catalogue.mapping.Node" />
    </set>
    </class>

    Ma classe contient une collection de nodeEntries, dont la clef étrangère est est la colonne PARENT_ID.
    Chaque noeud contient une reference "parent" afin d'avoir une navigabilité dans les deux sens.

    Le pb est le suivant : lorsque je flush ma session, la colonne PARENT_ID passe à null car la propriété n'est pas mappée puisque je la référence dans mon mapping comme key de mon set.

    Je comprends pas prq Hibernate est capable d'instancier correctement les collections contenues dans les éléments mais n'est pas capable de mettre à jour le cas échéant la colonne PARENT_ID.

    J'avais pensé mapper directement la propriété parentId (un int avec un getter et un setter) sur PARENT_ID, mais je perds la navigabilité, ce que je ne veux pas.

    Si qqun a une idée, je suis preneur car je sèche

    Merci à vous !

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 5
    Par défaut J'ai trouvé :)
    En fait, c'était pas la peine de créer une instance de classe parent, il suffisait de créer une propriété parent_id et là, c'est tout bon, enfin, sauf que j'ai un nouveau souci : après toute modification des instance de "Node", il met la colonne PARENT_ID à null, alors que parentId dans ma classe Java a la bonne valeur avec un update.
    J'ai mis updatable="false" dans le XML donc ca le fait plus, ms si j'ai un jour j'ai besoin, j'aurais le pb....

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

Discussions similaires

  1. Bump mapping
    Par Francky033 dans le forum DirectX
    Réponses: 7
    Dernier message: 22/11/2003, 18h35
  2. [EJB2.1 Entity] [BES] Mapping automatique et clés étrangères
    Par Bobby McGee dans le forum Java EE
    Réponses: 3
    Dernier message: 15/10/2003, 10h33
  3. Réponses: 2
    Dernier message: 11/07/2003, 18h24
  4. Problème avec memory mapping
    Par gemai dans le forum C
    Réponses: 13
    Dernier message: 04/07/2003, 09h50
  5. Editeur de MAP en delphi pour jeux directX
    Par PetitScorpion dans le forum DirectX
    Réponses: 5
    Dernier message: 09/07/2002, 18h47

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