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 :

Objet non attaché.


Sujet :

Hibernate Java

  1. #1
    Membre habitué
    Profil pro
    ingenieur
    Inscrit en
    Avril 2002
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : ingenieur

    Informations forums :
    Inscription : Avril 2002
    Messages : 207
    Points : 128
    Points
    128
    Par défaut Objet non attaché.
    Bonjour,
    J'ai applis web n couches : DAO, métier, IHM, le tout piloté par spring et pour la couche DAO j'hérite d'HibernateDaoSupport.

    A un moment donné je fais une lecture de mon objet "reservation".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public Reservation getReservation(final Integer id) {
     
    	Criteria crit= getSession().createCriteria(Reservation.class);
    	crit.add(Expression.eq("id", id));
     
    	return (Reservation)crit.uniqueResult();		
    }
    Le pb est que l'objet qui est renvoyé (aprés un inspect de l'objet en mode debug) est Reservation$$EnhancerByCGLIB$$bd68f0a
    Je sais que c'est un objet interne d'hibernate !!! Ce n'est pas un objet Reservation.
    Mais du coup Hibernate considere que l'objet est toujours attaché (enfin c'est comme ca que je l'interprete) et me balance une exception Hibernate : could not initialize proxy - the owning Session was closed au moment ou je le passe à ma couche IHM.

    En fait Hibernate tente queleque chose sur l'objet ??????

    Au fait, j'ai essayer en ajoutant un session.clear() pour détacher tous les objets ?????

    Je précise encore qu'arriver dans ma couche métier je n'ai pas de probleme, c'est au moment de passer l'objet à ma couche IHM que l'erreur Hibernate surgit !! Complétement dingue, je ne fais rien sur l'objet.

    Par avance, merci pour une piste !!!

  2. #2
    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
    Et tu fais quoi avec cet objet ?
    Tu essaies d'accéder à des propriétés non initialisées ? (en lazy loading)

    Le fait de passer ton objet aux couches supérieurs n'est pas un souci, il sera simplement détaché, mais dans ce cas, il faut que les données auxquelles tu veux accéder, soient chargées dans ta méthode getReservation(), via l'utilisation de fetch.

  3. #3
    Membre habitué
    Profil pro
    ingenieur
    Inscrit en
    Avril 2002
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : ingenieur

    Informations forums :
    Inscription : Avril 2002
    Messages : 207
    Points : 128
    Points
    128
    Par défaut
    tout d'abord merci pour ta réponse.
    Je ne fais absolument rien avec cet objet.
    L'exeception est levée au moment du passage de l'objet.
    Je vais essayer le fetch.

    Merci encore.

Discussions similaires

  1. debutant: un keyListener sur un objet non graphique
    Par ataya dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 18/05/2006, 18h45
  2. Réponses: 1
    Dernier message: 04/05/2006, 11h33
  3. [OBJET] - non-aggregate type error
    Par jacquesh dans le forum C++
    Réponses: 3
    Dernier message: 28/04/2006, 13h49
  4. [gcc/ld] comment "zapper" les objets non référéren
    Par jula dans le forum Autres éditeurs
    Réponses: 5
    Dernier message: 05/01/2006, 15h15
  5. [POO] balise ou objet non reconnu lors d'un deploiement serveur
    Par benssj5 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 02/01/2006, 17h26

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