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 :

Chargement en cascade on demand


Sujet :

Hibernate Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Chargement en cascade on demand
    Bonjour,

    J'ai un petit souci avec Hibernate :
    Dans le cadre de mon projet je fais du lazy loading mais dans un cas tres particulier j'ai besoin de recuperer toute la grappe d'objet en cascade comme si j'avais mit cascade="all" dans le mapping.

    Savez vous comment faire pour garder ce lazy loading mais recuperer la grappe sans parcourir toute la grappe pour la charger ?

    J'utilse Spring + hibernate

    Merci d'avance

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    365
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Janvier 2006
    Messages : 365
    Points : 495
    Points
    495
    Par défaut
    Bonjour,
    Ce que tu peux faire, c'est de laisser la collection en lazy=true, et faire une requête HQL te permettant de charger l'objet avec sa collection lorsque tu en as besoin, en fonction du cas d'utilisation. La requête serait quelque chose comme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    from Order o left join fetch o.lineItems
    et tu pourrais ajouter une clause WHERE pour limiter les résultats...

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Merci pour ta reponse.

    j'avais penser au fetch mais le probleme est que j'ai 5 niveau à loadé dans la grappe :
    Objet1 à une list de Objet2.
    Chaque Objet2 a une liste de Objet3.
    Chaque Objet3 a une liste de Objet4.
    etc...

    Et là le fetch ne me permet de loader qu'un niveau...
    Il me faudrait vraiment une option equivalente au cascade="all" du mapping.
    Est ce qu-on peut faire ca avec le fetch ?

  4. #4
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    A part faire 4 fetch dans une requête comme manblaizo te l'a proposé, je ne vois pas trop.
    Ne risques-tu pas saturer la mémoire en voulant charger trop d'objets en une seule fois ?

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Non je pense pas car c'est des relation one-to-one sur les 2 derniers niveaux

    Comment se presenterait les 4 fetchs successif ?

Discussions similaires

  1. Lancement d'une fonction non demandée au chargement du script
    Par Genestoux dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 15/06/2009, 13h37
  2. Chargement entier en mémoire ou on demand des données
    Par *alexandre* dans le forum Autres
    Réponses: 1
    Dernier message: 27/02/2007, 18h06
  3. Chargement entier en mémoire ou on demand des données
    Par *alexandre* dans le forum Persistance des données
    Réponses: 4
    Dernier message: 14/02/2007, 00h18
  4. [CR 8.5][Web] demande de connexion récurrente.
    Par Edison dans le forum Connectivité
    Réponses: 4
    Dernier message: 09/07/2002, 17h48

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