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

Persistance des données Java Discussion :

probléme d'exécution de requete avec hibernate


Sujet :

Persistance des données Java

  1. #1
    Membre du Club Avatar de yazen
    Profil pro
    Inscrit en
    Août 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Août 2007
    Messages : 70
    Points : 60
    Points
    60
    Par défaut probléme d'exécution de requete avec hibernate
    bonjours

    j'arrive pas a exécuter une requete de création d'une table dans ma base de données mysql avec le sql native
    voila la fonction avec laquelle j'essaye de créer ma table
    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
    16
    17
    18
     
    Session session = null;
    	    /* we always need a transaction */
    	    Transaction tx = null;
    	    try {
    	      /* get session of the current thread */
    	      session = HibernateSessionFactory.getSession();
     
    	      tx = session.beginTransaction();
    	      System.out.println("walo");
    	      Query query = session.createQuery("CREATE TABLE test(id_test int(20) NOT NULL auto_increment,nom_test date NOT NULL,PRIMARY KEY(id_test))");
    	       int t =query.executeUpdate();
    	       System.out.println(t);
    	      tx.commit();
    	    } catch (Exception e) {
    	      e.printStackTrace();
     
    	}
    mais il me génere l'erreur :
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
    org.hibernate.hql.ast.QuerySyntaxError: unexpected token: CREATE near line 1, column 1 [CREATE TABLE test(id_test int(20) NOT NULL auto_increment,nom_test date NOT NULL,PRIMARY KEY(id_test))]
    	at org.hibernate.hql.ast.ErrorCounter.throwQueryException(ErrorCounter.java:63)
    	at org.hibernate.hql.ast.QueryTranslatorImpl.parse(QueryTranslatorImpl.java:215)
    	at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:127)
    	at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:83)
    	at org.hibernate.impl.SessionFactoryImpl.getQuery(SessionFactoryImpl.java:427)
    	at org.hibernate.impl.SessionImpl.getQueries(SessionImpl.java:884)
    	at org.hibernate.impl.SessionImpl.executeUpdate(SessionImpl.java:865)
    	at org.hibernate.impl.QueryImpl.executeUpdate(QueryImpl.java:89)
    	at com.yourcompany.struts.action.DesignationcolonneAction.execute(DesignationcolonneAction.java:62)
    	at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
    	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
    	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
    	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    	at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
    	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
    	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
    	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
    	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
    	at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
    	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
    	at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
    	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
    	at java.lang.Thread.run(Thread.java:595)
    Caused by: line 1:1: unexpected token: CREATE
    	at org.hibernate.hql.antlr.HqlBaseParser.statement(HqlBaseParser.java:156)
    	at org.hibernate.hql.ast.QueryTranslatorImpl.parse(QueryTranslatorImpl.java:209)
    	... 37 more
    merci de bien m'aider

  2. #2
    Membre confirmé Avatar de djsnipe
    Inscrit en
    Mai 2008
    Messages
    440
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 440
    Points : 493
    Points
    493
    Par défaut
    Essayes avec la méthode createSQLQuery de l'objet Session.

  3. #3
    Membre du Club Avatar de yazen
    Profil pro
    Inscrit en
    Août 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Août 2007
    Messages : 70
    Points : 60
    Points
    60
    Par défaut
    alors la j'avance un peu mon erreur est changée lorsque j'ai utilisé sqlquery pour devenir
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
     
    java.lang.UnsupportedOperationException: Update queries only supported through HQL
    	at org.hibernate.impl.AbstractQueryImpl.executeUpdate(AbstractQueryImpl.java:607)
    	at com.yourcompany.struts.action.DesignationcolonneAction.execute(DesignationcolonneAction.java:62)
    	at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
    	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
    	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
    	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    	at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
    	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
    	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
    	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
    	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
    	at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
    	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
    	at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
    	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
    	at java.lang.Thread.run(Thread.java:595)

  4. #4
    Membre confirmé Avatar de djsnipe
    Inscrit en
    Mai 2008
    Messages
    440
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 440
    Points : 493
    Points
    493
    Par défaut
    Bonne question du coup, je ne sais pas dire si c'est faisable directement avec une SQLQuery. En tout cas, il est toujours possible d'obtenir la connexion JDBC depuis la Session et de faire un Statement à la main.

Discussions similaires

  1. Problème d'exécution de fonction avec xajax
    Par hnicola dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 25/04/2010, 11h16
  2. Recuperer le noms des attributs d'une requete avec Hibernate
    Par Molkobain dans le forum Hibernate
    Réponses: 11
    Dernier message: 11/03/2009, 08h48
  3. Problème de relation 1-N avec hibernate 3
    Par otam_otam dans le forum Hibernate
    Réponses: 3
    Dernier message: 15/04/2008, 11h12
  4. Exécution de requete avec Key
    Par marsupilami34 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 20/03/2008, 10h17
  5. Problème d'exécution de requetes
    Par darkspoilt dans le forum VBA Access
    Réponses: 1
    Dernier message: 30/05/2007, 10h01

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