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

JSF Java Discussion :

[JSF] Update d'une seule colonne d'une ligne d'une table


Sujet :

JSF Java

  1. #1
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Janvier 2014
    Messages : 44
    Points : 17
    Points
    17
    Par défaut [JSF] Update d'une seule colonne d'une ligne d'une table
    Bonjour tout le monde
    Je voudrai mettre à jour un enregistrement de ma table Facture.
    Pour ce faire, je sélectionne la facture que je veux modifier depuis un datatable, je suis redirigée par la suite vers une page jsf contenant les informations concernant cette facture et un bouton "Accuser reception". Je veux qu'une fois je clique sur le bouton j'effectue un update() sur un seul champ de la facture que j'ai choisi, tout en gardant les autres champs par défault (c'est à dire qu'un seul champ soit modifié et les autres champs restent les mêmes qu'avant la mise à jour).
    Voici mes bouts de code avec l'erreur que je reçois:

    la méthode du managedBean:
    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
     
    public String accuserReception() 
       {
     
           Date date = new Date();
           System.out.println("La date du jour eeeeeeeest:::: " +date);
           System.out.println("la facture à vouloir modifiée essssssst:" +facture.getNumeroFacture());
           facture.setDateReceptionPhysique(date);
     
     
           factureDao.AccuserRec(facture);
     
           return "DateRec";
     
       }
    la méthode de mon DAO:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     public void AccuserRec(Facture f)
        {
           System.out.println("Facture bieeeeen modifiée!!!!");
           session.beginTransaction();
           session.saveOrUpdate(f);
           session.getTransaction().commit();
           session.close();
        }
    L'erreur est la suivante: (c'est comme si on met la valeur nulle dans les autres champs que je ne veux pas modifier, alors que moi je veux garder les valeurs par défaut):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Avertissement:   #{factureFournisseurBean.accuserReception()}: javax.validation.ConstraintViolationException: Validation failed for classes [Entités.Facture] during persist time for groups [javax.validation.groups.Default, ]
    List of constraint violations:[
    	ConstraintViolationImpl{interpolatedMessage='ne peut pas être nul', propertyPath=utilisateur, rootBeanClass=class Entités.Facture, messageTemplate='{javax.validation.constraints.NotNull.message}'}
    	ConstraintViolationImpl{interpolatedMessage='ne peut pas être nul', propertyPath=fournisseur, rootBeanClass=class Entités.Facture, messageTemplate='{javax.validation.constraints.NotNull.message}'}
    	ConstraintViolationImpl{interpolatedMessage='ne peut pas être nul', propertyPath=engagement, rootBeanClass=class Entités.Facture, messageTemplate='{javax.validation.constraints.NotNull.message}'}
    	ConstraintViolationImpl{interpolatedMessage='ne peut pas être nul', propertyPath=statut, rootBeanClass=class Entités.Facture, messageTemplate='{javax.validation.constraints.NotNull.message}'}
    Une idée sur comment pourrai-je corriger ça s'il vous plait?

  2. #2
    Membre chevronné

    Homme Profil pro
    développeur
    Inscrit en
    Octobre 2013
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : développeur

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 576
    Points : 1 989
    Points
    1 989
    Par défaut
    Bonjour, as-tu autorisé la valeur null sur tes champs dans ta base de données?

  3. #3
    Membre chevronné Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Points : 2 120
    Points
    2 120
    Par défaut
    salut,
    dans l´autre post, je te conseillais d´enlever les annotations @NotNull de l´entité Facture.

    as tu essayé?

    Eric

  4. #4
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Janvier 2014
    Messages : 44
    Points : 17
    Points
    17
    Par défaut
    Oui jeffray03, tu me l'as conseillée.
    Mais je ne veux pas stocker des valeurs nulles, je veux garder les valeurs par défaut de ces champs.

  5. #5
    Membre chevronné Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Points : 2 120
    Points
    2 120
    Par défaut
    salut,
    as-tu pu veifier si ces valeurs y compris les cles etaient bien presentent?
    Eric

  6. #6
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Janvier 2014
    Messages : 44
    Points : 17
    Points
    17
    Par défaut
    Oui elles sont bien présentes, mais c'est comme si le update essaye d'enregistrer un nouvel objet dont seul la valeur que je veux modifier est fournie, est toutes les autres valeurs sont nulles, c'est à dire que les valeurs anciennes ne sont pas prises en compte.

  7. #7
    Membre chevronné Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Points : 2 120
    Points
    2 120
    Par défaut
    salut

    as tu essayé de de faire cela dans une meme transaction .

    Eric

  8. #8
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Janvier 2014
    Messages : 44
    Points : 17
    Points
    17
    Par défaut
    Comment ça dans une même transaction? Je n'ai pas bien saisi ce que vous entendez par une même transaction.

Discussions similaires

  1. Réponses: 6
    Dernier message: 23/07/2014, 11h12
  2. Réponses: 2
    Dernier message: 21/02/2014, 14h33
  3. [XL-2000] Transposer plusieurs lignes sur une seule colonne
    Par ceuce dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 10/04/2009, 12h11
  4. SQL : Regrouper des lignes dans une seule colonne
    Par manoir62 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 12/02/2009, 19h06
  5. update d'une seule colonne table entière
    Par dlamo dans le forum Requêtes
    Réponses: 3
    Dernier message: 09/10/2007, 11h13

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