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

JPA Java Discussion :

Problème lors d'un update


Sujet :

JPA Java

  1. #1
    Membre du Club
    Inscrit en
    Mars 2003
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 78
    Points : 43
    Points
    43
    Par défaut Problème lors d'un update
    Bonjour,

    Je voudrais faire un update sur des données.

    Je récupère les données de la base de données via un appel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    entityManager.find(...)
    L'objet devient donc "managé".

    Je set des attributs sur l'objet.

    Il en résulte un update de ma table mappée à la classe récupérée par mon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    entityManager.find(...)
    Jusqu'ici tout va bien.

    Le problème est que si une exception est lancée après le find sur n'importe quel setter, l'update se fait quand même sur tous les champs qui ont été settés avant l'exception.

    Comment faire pour qu'un rollback intervienne en cas d'exception voulue ou non?

  2. #2
    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,
    Normalement, il faut mettre le tout dans une seule transaction.
    Comment gères tu les transactions ?

  3. #3
    Membre du Club
    Inscrit en
    Mars 2003
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 78
    Points : 43
    Points
    43
    Par défaut
    Jusqu'à maintenant je ne gère pas les transactions. Je laisse ce soin à la couche de persistence.
    J'ai essayé d'ajouter le tag @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW) avant ma méthode de mise à jour mais cela ne change rien.

  4. #4
    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
    Tu utilises Spring comme gestionnaire de transactions ou est ce que t'es sur un serveur d'application et t'utilses sa gestion de transactions ?

  5. #5
    Membre du Club
    Inscrit en
    Mars 2003
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 78
    Points : 43
    Points
    43
    Par défaut
    Non j'utilise la gestion de transaction de bea weblogic 10 dont la couche jpa est kodo.

  6. #6
    Membre expérimenté Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Points : 1 639
    Points
    1 639
    Par défaut
    Peut etre juste c'est l'anotation @Transactional sur ta méthode dont tu as besoin

  7. #7
    Membre du Club
    Inscrit en
    Mars 2003
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 78
    Points : 43
    Points
    43
    Par défaut
    Tu parles de cette annotation weblogic.jws.Transactional ?

  8. #8
    Membre expérimenté Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Points : 1 639
    Points
    1 639
    Par défaut
    Non je pensais à c'est org.springframework.transaction.annotation.Transactional;

    Mais comme tu n'utilises pas Spring, ca ne peux pas aller. Désolé
    Il y'a peut etre la meme pour weblogic ? celle que tu m'as dite ?

  9. #9
    Membre du Club
    Inscrit en
    Mars 2003
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 78
    Points : 43
    Points
    43
    Par défaut
    D'après la doc cette annotation weblogic est utilisée dans le cadre d'une méthode de la couche web.

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/01/2010, 12h22
  2. [Utilisation] Problème lors d'un update-> directory already exists
    Par BigBulle dans le forum Subversion
    Réponses: 2
    Dernier message: 04/03/2009, 18h52
  3. [VBA] problème lors de l'UPDATE à cause d'un sous-formulaire
    Par fellower dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 19/04/2007, 11h45
  4. problème lors d'un update
    Par poula dans le forum Oracle
    Réponses: 2
    Dernier message: 08/01/2007, 09h54
  5. Problème lors d'un Update sur une date
    Par Nany dans le forum ASP
    Réponses: 3
    Dernier message: 19/05/2004, 22h37

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