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]Commit --> IllegalStateException


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    759
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 759
    Par défaut [HIBERNATE]Commit --> IllegalStateException
    Bonjour,

    J'ai une boucle qui fait plusieurs créations ou update.

    Avant chaque nouveau passage dans la boucle, je veux faire un commit intermédiaire.

    A priori, la solution était toute trouvée en faisant (em est un élément EntityManager de ma classe DAO):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      @PersistenceContext(unitName = "myApp.hibernate")
      EntityManager em;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    em.getTransaction().commit();
    (j'ai aussi essayé em.flush())

    Problème, rien qu'en observant em.getTransaction(), ça me fait IllegalStateException.
    Alors la doc Hibernate a beau me dire :
    IllegalStateException: the entity manager is used in a wrong way
    Ca ne m'avance pas des masses...

    Merci.

  2. #2
    Membre Expert
    Avatar de yotta
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2006
    Messages
    1 088
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 088
    Par défaut Des précisions...
    Bonjour,

    Je ne maîtrise pas complètement Hibernate, mais je m'y suis froté. Je ne comprends pas bien votre code, mais si vous tentez de faire un getTransaction pour exécuter une de ses méthodes à chaque fois, ça ne peut pas fonctionner. On ne peut obtenir qu'une seul instance de transaction par connexion il me semble.
    Récupérez la transaction dans un objet, puis, au début de votre boucle, invoquez sa méthode begin(), et à la fin de votre boucle faites votre commit()...
    Une technologie n'est récalcitrante que par ce qu'on ne la connait et/ou comprend pas, rarement par ce qu'elle est mal faite.
    Et pour cesser de subir une technologie récalcitrante, n'hésitez surtout pas à visiter les Guides/Faq du site !

    Voici une liste non exhaustive des tutoriels qui me sont le plus familiers :
    Tout sur Java, du débutant au pro : https://java.developpez.com/cours/
    Tout sur les réseaux : https://reseau.developpez.com/cours/
    Tout sur les systèmes d'exploitation : https://systeme.developpez.com/cours/
    Tout sur le matériel : https://hardware.developpez.com/cours/

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    759
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 759
    Par défaut
    En fait il y avait bien un problème de conception plutôt.

    J'ai isolé dans une fonction de mon service les traitemenst effectués dans ma boucle et j'ai chapeauté cette fonction de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @Transactional(rollbackFor = Throwable.class, propagation = Propagation.REQUIRES_NEW)
    Heureusement que j'ai pu me faire aider sur ce coup!!!!!!

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

Discussions similaires

  1. [JTA][Hibernate] Unable to commit
    Par flcpln dans le forum Wildfly/JBoss
    Réponses: 0
    Dernier message: 29/09/2010, 09h58
  2. Réponses: 2
    Dernier message: 03/05/2010, 21h13
  3. Réponses: 12
    Dernier message: 11/05/2009, 14h51
  4. Probleme Hibernate :Execution du commit
    Par lok9001 dans le forum Hibernate
    Réponses: 11
    Dernier message: 04/06/2008, 14h36
  5. commit sous hibernate + spring
    Par mauroyb0 dans le forum Hibernate
    Réponses: 7
    Dernier message: 26/03/2007, 15h51

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