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

Servlets/JSP Java Discussion :

j2ee Erreur Servlet


Sujet :

Servlets/JSP Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Janvier 2011
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 114
    Points : 30
    Points
    30
    Par défaut j2ee Erreur Servlet
    bonjour j'ai un erreur au niveau du code servlet voici le code :

    Integer idIncrement = null;
    id++;
    commandesequence.setId(id);
    commandeClient.setReference("0"+id+"BC"+Calendar.getInstance().get(Calendar.YEAR));
    Query sql = sessionDb
    .createQuery("insert into CommandeSequence(id)");
    sql.executeUpdate();
    et l'erreur est comme suit

    org.hibernate.QueryException: number of select types did not match those for insert [insert into CommandeSequence(id)]
    org.hibernate.hql.ast.tree.IntoClause.validateTypes(IntoClause.java:92)
    org.hibernate.hql.ast.tree.InsertStatement.validate(InsertStatement.java:34)
    org.hibernate.hql.ast.HqlSqlWalker.postProcessInsert(HqlSqlWalker.java:602)
    org.hibernate.hql.antlr.HqlSqlBaseWalker.insertStatement(HqlSqlBaseWalker.java:491)
    org.hibernate.hql.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:253)
    org.hibernate.hql.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:228)
    org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:160)
    org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:111)
    org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:77)
    org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:56)
    org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:72)
    org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:133)
    org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:112)
    org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1623)
    servlets.commande.Commande.doPost(Commande.java:317)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    merci de votre attention.

  2. #2
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    Une requête insert ressemble plutôt à ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    INSERT INTO table(colonne1, colonne2, etc) VALUES (valeur1, valeur2, etc)

  3. #3
    En attente de confirmation mail
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Octobre 2010
    Messages
    501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2010
    Messages : 501
    Points : 1 060
    Points
    1 060
    Par défaut
    Bonjour,

    Citation Envoyé par fr1man Voir le message
    Une requête insert ressemble plutôt à ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    INSERT INTO table(colonne1, colonne2, etc) VALUES (valeur1, valeur2, etc)
    A ma connaissance, en HQL, le INSERT INTO ... VALUES ... n'est pas toléré.
    Il faut faire INSERT INTO ... SELECT ... ou bien utiliser les méthodes de persistence d'hibernate.

    http://docs.jboss.org/hibernate/core...l#batch-direct

  4. #4
    Nouveau membre du Club
    Inscrit en
    Janvier 2011
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 114
    Points : 30
    Points
    30
    Par défaut
    merci pour votre réponse est ce que cette requête est au niveau du hql existe?

  5. #5
    Membre actif Avatar de Jacobian
    Inscrit en
    Février 2008
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 425
    Points : 245
    Points
    245
    Par défaut
    dans les prochaines version de Hibernate t'auras pas insert donc se mot va désparer donc il faudrait passer a save.
    si tu exige utiliser insert , il faudrait peut-être essayer le SQL Natif.

  6. #6
    Nouveau membre du Club
    Inscrit en
    Janvier 2011
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 114
    Points : 30
    Points
    30
    Par défaut
    merci pour vos réponse le problème que j'ai c'est que j'ai 2 tables CommandeClient et commandeSequence ce que je veux faire est d'insérer le nouveau id dés son incrementation dans la table commandeSequence.

  7. #7
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    A ma connaissance, en HQL, le INSERT INTO ... VALUES ... n'est pas toléré.
    Il faut faire INSERT INTO ... SELECT ... ou bien utiliser les méthodes de persistence d'hibernate.
    Tout à fait exact, j'ai lu le poste en diagonale, j'ai cru que c'était une simple requête SQL, je n'ai pas vu que cela concernait Hibernate.
    Désolé pour le hors sujet.

  8. #8
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    Pourquoi ne crées tu pas simplement un nouvel objet CommandeSequence que tu initialises avec ton id.
    Tu le sauves et le tour est joué, non ?

  9. #9
    Nouveau membre du Club
    Inscrit en
    Janvier 2011
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 114
    Points : 30
    Points
    30
    Par défaut
    merci infiniment, j'ai ajouté cette ligne mais ca marche pas
    sessionDb.saveOrUpdate(commandesequence);
    Le problème c'est que quand je ferme mon application l'id se retourne en 0 et quand j'ajoute une autre commande la référence prend la valeur 01.

    j'ai mis ce code
    Integer id=0;
    dans
    public class Commande extends HttpServlet {
    private static final long serialVersionUID = 1L;
    . je pense que la seule solution est d'avoir enregistrer ce id dans la table CommandeSequence

  10. #10
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    C'est pas clair tout ça.
    Que souhaites-tu faire ?

    Ton id est à 0 car tu dois aller lire la valeur en base pour chaque nouvelle commande.

    Peut-être que ta base utilise des séquences ce qui te simplifierait la vie.

  11. #11
    Nouveau membre du Club
    Inscrit en
    Janvier 2011
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 114
    Points : 30
    Points
    30
    Par défaut
    merci tous ce que je veux est d'insérer dans la table commande sequence le nouveau id?

Discussions similaires

  1. Réponses: 18
    Dernier message: 07/02/2007, 14h33
  2. erreur Servlet actionstruts
    Par bambou dans le forum Struts 1
    Réponses: 18
    Dernier message: 10/01/2007, 16h48
  3. Erreur Servlet JBuiler 2005
    Par jason69 dans le forum JBuilder
    Réponses: 7
    Dernier message: 03/05/2006, 23h07
  4. pb erreur servlet tomcat
    Par 2tsiris dans le forum Tomcat et TomEE
    Réponses: 6
    Dernier message: 02/04/2006, 19h03
  5. [J2EE] Exécution servlet avec eclipse
    Par Mister Nono dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 30/01/2006, 16h16

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