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 :

[Lazy loading] proxy non initialisé


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de Patriarch24
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    1 047
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 047
    Par défaut [Lazy loading] proxy non initialisé
    Bonjour à tous !
    J'ai une classe pour laquelle j'ai configuré un chargement différé (relation vers entité) et d'autre chargement immédiat (via lazy="false", notamment pour les membres de type de base genre int, String, etc.).
    Lorsque je reçois le proxy, il n'est pas du tout initialisé ! Aucune propriétés n'est initialisée, ce qui résulte donc en une LazyInitializationException lors d'un accès aux propriétés dont j'ai pourtant demandé qu'elle soit chargée immédiatement...

    Comment cela se fait-il ? Comment y remédier ?
    Autre question : quelle est la différence entre mettre un lazy="false" au niveau de la classe, et un lazy="false" au niveau de tous les attributs ?

    Merci d'avance !

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    comment as-tu récupéré le proxy? Hibernate fournis 2 méthode, une (session.get(class,id)) qui fait un select sur la db et te garanti que la donnée existe et récupère vraisemblablement aussi les attributs, l'autre, plus rapide (session.load(class,id)) qui elle renvoie d'office soit un proxy vide (objet pas présent en cache) soit un proxy plus ou moins initialisé (déjà présent en cache).

    utilise show_sql=true dans ta config pour voir les opérations dans la db

  3. #3
    Membre Expert
    Avatar de Patriarch24
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    1 047
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 047
    Par défaut
    D'accord. Donc si je comprends bien, la différence entre load et get ne se limite donc pas seulement à la méthode de retour (à savoir : get renvoie null s'il ne trouve rien, load lève une exception).
    J'ai testé et effectivement, ça fonctionne bien. Merci !

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    tu comprend bien, et c'est marqué dans la doc accessoirement

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

Discussions similaires

  1. [EMF] [eCore] [proxy] [persist] [lazy loading scheme]
    Par ziad.shady dans le forum Eclipse Platform
    Réponses: 1
    Dernier message: 18/03/2009, 10h21
  2. Probleme Hibernate + JPA -> lazy loading non respecté
    Par MikoMax dans le forum Hibernate
    Réponses: 1
    Dernier message: 28/08/2007, 15h13
  3. Lazy loading - Proxy CGLIB - comparaison de class
    Par El Saigneur dans le forum Hibernate
    Réponses: 2
    Dernier message: 23/08/2007, 14h07
  4. [HIBERNATE 3]Lazy loading
    Par SEMPERE Benjamin dans le forum Hibernate
    Réponses: 11
    Dernier message: 08/02/2006, 22h40
  5. Directx non initialisé
    Par Cyclops dans le forum DirectX
    Réponses: 3
    Dernier message: 07/06/2005, 10h14

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