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 :

Hibernate 3.2.2 et lazy collection


Sujet :

Hibernate Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 109
    Points : 108
    Points
    108
    Par défaut Hibernate 3.2.2 et lazy collection
    Bonjour,
    Je suis en train de migrer une appli sur 3.2 depuis hibernate 2.1. Avant, je ne m'occupait pas du lazy qui était par défaut, je crois, sur false.
    Avec hibernate 3.2.2 il me fait des problèmes dans le chargement des objects en relation many-to-one avec des erreurs:
    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
    
    
    Caused by:
    java.sql.SQLException: Le flux de données est déjà fermé at weblogic.jdbc.wrapper.ResultSet.getBytes(ResultSet.java:570) at org.hibernate.type.AbstractBynaryType.get(AbstractBynaryType.java:78) at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:163) at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:154) at org.hibernate.type.AbstractType.hydrate(AbstractType.java:81) at org.hibernate.persister.entity.AbstractEntityPersister.hydrate(AbstractEntityPersister.java:2092) at org.hibernate.loader.Loader.loadFromResultSet(Loader.java:1371) at org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1299) at org.hibernate.loader.Loader.getRow(Loader.java:1197) at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:568) at org.hibernate.loader.Loader.doQuery(Loader.java:689) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224) at org.hibernate.loader.Loader.doList(Loader.java:2211)
    ... 54 more
    Que dois-je faire pour que l'application se comporte comme sur 2.1 ?

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 109
    Points : 108
    Points
    108
    Par défaut
    Bon,

    Ben j'ai la solution que je trouve étrange. Il semblerait qu'à partir d'hibernate 2.4, pour retourner une liste d'objects en relation many-to-one, il faut utiliser le size. Ce size garantit que la liste contient tous les objects.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    
    
    List lst = session.createCriteria(type).list(); lst.size();
    return lst;
    Il n'y a docn rien à faire au niveau du lazy !

  3. #3
    Expert éminent
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Points : 7 679
    Points
    7 679
    Par défaut
    Bonjour

    Bon, c'est déjà trop tard, mais tu peux mettre lazy=false dans les mappings dans les fichiers hbm.xml.

    Ceci dit, il y'a une bonne raison pour que le lazy soit par défaut à true ...

    Bonne chance.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 11/04/2008, 12h12
  2. Hibernate + suppression d'objets dans une collection
    Par Saiyan54 dans le forum Hibernate
    Réponses: 2
    Dernier message: 15/12/2006, 15h39
  3. Réponses: 6
    Dernier message: 10/07/2006, 11h55
  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] Illegal attempt to associate a collection with..
    Par PamelaGeek dans le forum Hibernate
    Réponses: 4
    Dernier message: 02/03/2006, 11h09

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