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 :

OneToOne et Lazy loading


Sujet :

Hibernate Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 100
    Par défaut OneToOne et Lazy loading
    Bonjour,

    Dans mon mapping, j'ai une realtion "one to one" entre deux classes.

    Lorsque je charge la première classe, la deuxième est chargée automatiquement. Ce que je ne veux pas. Je voudrais pouvoir charger une classe sans charger l'autre.

    J'ai utilisé "fetch=FetchType.LAZY", mais cela ne semble pas marcher pour les relations One To One.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    @OneToOne(cascade = {CascadeType.MERGE, CascadeType.PERSIST},
     mappedBy = "monChamp", fetch=FetchType.LAZY)
    J'ai lu de la documentation sur une relation "LazyToOne". Mais je n'ai vu nul part d'exemple d'utilisation.

    Avez-vous une solution ?

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 100
    Par défaut
    En fait l'option de chargement LAZY fonctionne quand la relation OneToOne porte sur une clé primaire partagée.

    Mais elle ne fonctionne pas quand les entités sont liées par une clé étrangère.

  3. #3
    Rédacteur

    Homme Profil pro
    Geek entrepreneur
    Inscrit en
    Novembre 2004
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Geek entrepreneur

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 224
    Par défaut
    ok ma réponse intervient 2 ans plus tard (sic...) mais comme j'ai eu le même souci et que le site suivant explique très bien le souci :

    http://community.jboss.org/wiki/Some...dingone-to-one

    Ca me semblait intéressant de le mettre

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 79
    Par défaut
    1 an après je te remercie d'avoir mis l'explication

  5. #5
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 51
    Par défaut
    Salut,

    Je crois que le fait de remplacer la relation oneToOne par une relation oneToMany qui porte sur un champ ayant un index unique peut résoudre le problème

    A+

Discussions similaires

  1. spring2 hibernate3 : lazy loading
    Par fxonline dans le forum Hibernate
    Réponses: 9
    Dernier message: 10/02/2007, 18h56
  2. Lazy loading sur component
    Par El Saigneur dans le forum Hibernate
    Réponses: 2
    Dernier message: 03/11/2006, 10h30
  3. Lazy loading et fermeture de session hibernate
    Par BRAUKRIS dans le forum Hibernate
    Réponses: 3
    Dernier message: 20/07/2006, 13h08
  4. [hibernate] problème pour desactiver le lazy loading
    Par agougeon dans le forum Hibernate
    Réponses: 2
    Dernier message: 14/03/2006, 11h20
  5. [HIBERNATE 3]Lazy loading
    Par SEMPERE Benjamin dans le forum Hibernate
    Réponses: 11
    Dernier message: 08/02/2006, 22h40

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