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 :

association bidirectionnelle + second level cache


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 262
    Par défaut association bidirectionnelle + second level cache
    bonjour, j'ai un petit problème de cache :
    deux entités :
    entité abonnement
    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
     
    <?xml version="1.0" encoding="UTF-8"?>
    <hibernate-mapping
        xmlns="urn:nhibernate-mapping-2.2"
        default-cascade="none">
     
        <class
            name="...."
            table="ABONNEMENT"
            dynamic-insert="false"
            dynamic-update="false"
            lazy="true">
     
            <cache usage="read-write" />
            <id name="Id" type="Int64" unsaved-value="0">
                <column name="ID" sql-type="BIGINT"/>
                <generator class="native">
                </generator>
            </id>
     
       ........
     
            <many-to-one name="Commande" class="Entites.Collectivites.BonDeCommande, Core" outer-join="auto" cascade="none" foreign-key="ABONNEMENT_COMMANDE_FKC">
                <column name="COMMANDE_FK" not-null="false" sql-type="VARCHAR(255)"/>
            </many-to-one>
     
            .......
     
        </class>
     
    </hibernate-mapping>
    entité bon de commande
    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
     
    <?xml version="1.0" encoding="UTF-8"?>
    <hibernate-mapping
        xmlns="urn:nhibernate-mapping-2.2"
        default-cascade="none">
     
        <class
            name="..."
            table="BON_DE_COMMANDE"
            dynamic-insert="false"
            dynamic-update="false"
            lazy="true">
     
            <cache usage="read-write" />
            <id name="Numero" type="String" unsaved-value="null">
                <column name="NUMERO" sql-type="VARCHAR(255)"/>
                <generator class="assigned">
                </generator>
            </id>
     
            <set name="Abonnements" order-by="COMMANDE_FK" lazy="true" outer-join="auto" inverse="true" cascade="delete">
                <cache usage="read-write" />
                <key foreign-key="ABONNEMENT_COMMANDE_FKC">
                    <column name="COMMANDE_FK" sql-type="VARCHAR(255)"/>
                </key>
                <one-to-many class="Abonnement"/>
            </set>
    ....
     
        </class>
        <!-- NHibernate.hbm.xml.vsl merge-point -->
    </hibernate-mapping>
    entre abonnement et bon de commade la relation est bidirectionnelle, mon problème est que lorsque je définis bon de commande pour mon entité abonnement. si j'ai activé mon cache hibernate en second niveau, si je consulte mon entité bon de commande, je ne vois pas mon abonnement car hibernate a gardé mon cache d'avant .
    Il doit me manquer quelque chose, est ce que quelqu'un aurait une idée voire la solution à mon problème sans doute l'ajout d'un attribut .
    Par avance grand merci

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 262
    Par défaut
    la solution est qu'il faut le faire des deux cotés :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    abonnement.BonDeCommande = bondeCommande;
    bondeCommande.Abonnements.Add(abonnements);
    je pensais 'betement' que si on faisait l'un des deux cela suffisait
    ( et que l'autre était induit)

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

Discussions similaires

  1. [Data] Spring hibernate JPA : second level cache
    Par nahtanojb dans le forum Spring
    Réponses: 0
    Dernier message: 11/04/2010, 18h32
  2. JBOSS: second level cache problem configuration (4.2.2GA --> 5.1.0GA)
    Par ReunionIsland dans le forum Wildfly/JBoss
    Réponses: 0
    Dernier message: 19/11/2009, 14h19
  3. Association bidirectionnelle many-to-many
    Par alfredeu dans le forum Hibernate
    Réponses: 0
    Dernier message: 13/12/2008, 14h27
  4. Mapping d'association bidirectionnelle
    Par T2! dans le forum Hibernate
    Réponses: 3
    Dernier message: 25/06/2008, 20h57
  5. Association, has_many through et cache
    Par Jubee dans le forum Ruby on Rails
    Réponses: 4
    Dernier message: 05/03/2008, 17h50

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