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

Spring Java Discussion :

Problème d'insertion + Clé étrangère


Sujet :

Spring Java

  1. #1
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Avril 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Avril 2011
    Messages : 14
    Points : 12
    Points
    12
    Par défaut Problème d'insertion + Clé étrangère
    J'ai 2 table controle et produit. Je veux insérer une nouvelle fiche controle sur un produit donc j'ai affiche la une liste déroulante qui contient les id des produits à partir de la table produit et je vaux faire une fiche controle pour ce produit

    le problème est lors de l'insertion puisque produit est déclaré comme étant un objet complet mais moi je veux insérer seulement l id choisi a partir de la liste dans ma table controle

    voila la méthode que j'ai crée dan mon ContorleController

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    @RequestMapping("/saveControle")
    	public String saveControle(@ModelAttribute Controle controle) {
    		//produit controle.getProduit();
    		controleService.saveControle(controle);
    		//produitService.saveProduit(produit);
    		return "forward:/indexControle";
    	}
    et voila l erreur
    org.springframework.web.bind.ServletRequestBindingException: Errors binding onto object 'controle'; nested exception is org.springframework.validation.BindException: org.springframework.validation.BeanPropertyBindingResult: 1 errors
    Field error in object 'controle' on field 'produit': rejected value [idArticle=[12] libelle=[ds] qtite=[12] numeroArticle=[art12] controleIdControle=[12] ]; codes [typeMismatch.controle.produit,typeMismatch.produit,typeMismatch.org.msi.pfe.domain.Produit,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [controle.produit,produit]; arguments []; default message [produit]]; default message [Failed to convert property value of type [java.lang.String] to required type [org.msi.pfe.domain.Produit] for property 'produit'; nested exception is java.lang.IllegalArgumentException: Cannot convert value of type [java.lang.String] to required type [org.msi.pfe.domain.Produit] for property 'produit': no matching editors or conversion strategy found]
    org.springframework.web.bind.ServletRequestDataBinder.closeNoCatch(ServletRequestDataBinder.java:121)
    org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter$ServletHandlerMethodInvoker.doBind(AnnotationMethodHandlerAdapter.java:568)
    org.springframework.web.bind.annotation.support.HandlerMethodInvoker.resolveHandlerArguments(HandlerMethodInvoker.java:213)
    org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:132)

  2. #2
    Membre confirmé Avatar de NicoL__
    Homme Profil pro
    Architecte
    Inscrit en
    Janvier 2011
    Messages
    399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Janvier 2011
    Messages : 399
    Points : 577
    Points
    577
    Par défaut
    Une solution est de faire un select sur ton ID pour récupérer l'objet complet puis de faire l'insert, cela garantira au moins que l'ID est valide.

  3. #3
    Membre éprouvé Avatar de anisj1m
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2006
    Messages
    1 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 067
    Points : 955
    Points
    955
    Par défaut
    il y a un problème de conversion de "org.msi.pfe.domain.Produit" au string

    dans ton objet control tu dois mettre un objet produit et non pas un string dans le controle.produit
    Ce qu'on appelons le hasard n'est que notre incapacité à comprendre un degré d'ordre supérieur.

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/04/2012, 23h53
  2. [MySQL] problème d'insertion dans des tables qui contiennent des clés étrangère
    Par shurik'n dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 13/04/2012, 21h32
  3. Réponses: 6
    Dernier message: 18/04/2011, 14h40
  4. Problème d'insert, clé étrangère
    Par lvldia dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 26/07/2007, 13h25

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