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

Collection et Stream Java Discussion :

Itération sur map


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2011
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 55
    Par défaut Itération sur map
    Bonjour j'ai un petit souci
    qd je boucle sur ma map,et je fais un replaceAll pour remplacer tous les champs dans ma requete.j'ai qu'un seul champ qui est remplacer et c'est le dernier dans ma Map c'est a dire le dernier retourner par la boucle for
    ,il prend pas en compte les champs precedents

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    String cle ;String valeur;Query sqlQuery=null;
    String q = this.getSession().getNamedQuery(queryName).getQueryString();
     
    for (Map.Entry<String,String> e : tabcol.entrySet()){
    cle = e.getKey();
    valeur = e.getValue();	
    sqlQuery = this.getSession().createSQLQuery(query.replaceAll(cle,valeur));	
    sqlQuery.setProperties(params);
     
    }
    Si quelqu'un peut m'aider merci d'avance

  2. #2
    Membre Expert
    Inscrit en
    Août 2009
    Messages
    1 073
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 1 073
    Par défaut
    1. Utilise la balise [ code ].

    2. Dans ta boucle, tu affectes ta sqlQuery (autant de fois que tu as d'entrées ..). C'est inutile.

    3. Par contre, dans ta boucle tu dois redéfinir ta String query pour tenir compte de ton remplacement (String est immutable, quand tu fais replaceAll tu crées une nouvelle String).

    4. Si par ce moyen tu fixes des valeurs, c'est mal. Tu devrais utiliser des Bind Variables (avec des ? ou des :nomPropriete).

Discussions similaires

  1. Itération sur une Map
    Par singleProject dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 16/10/2008, 11h54
  2. Itération sur une liste en JSF?
    Par toutoune60 dans le forum JSF
    Réponses: 2
    Dernier message: 26/12/2007, 09h43
  3. Réponses: 3
    Dernier message: 06/11/2007, 11h18
  4. itération sur les champs
    Par shnouf dans le forum Langage
    Réponses: 2
    Dernier message: 28/11/2006, 15h27
  5. question sur mapping
    Par clairette dans le forum Hibernate
    Réponses: 5
    Dernier message: 04/07/2006, 17h10

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