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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2011
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 114
    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
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 276
    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
    Invité
    Invité(e)
    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
    Membre confirmé
    Inscrit en
    Janvier 2011
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 114
    Par défaut
    merci pour votre réponse est ce que cette requête est au niveau du hql existe?

  5. #5
    Membre éclairé Avatar de Jacobian
    Inscrit en
    Février 2008
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 425
    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
    Membre confirmé
    Inscrit en
    Janvier 2011
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 114
    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
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 276
    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.

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