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

Hibernate Java Discussion :

mise à jour, insertion OK MAIS lecture avec requete HQL KO


Sujet :

Hibernate Java

  1. #1
    Membre chevronné
    Profil pro
    MOA
    Inscrit en
    Décembre 2002
    Messages
    1 070
    Détails du profil
    Informations personnelles :
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : MOA

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 070
    Points : 1 903
    Points
    1 903
    Par défaut mise à jour, insertion OK MAIS lecture avec requete HQL KO
    Bonjour,

    lorsque j'essaie d'inserer des données :

    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
     public static void main(String[] args) throws HibernateException {
     
    	 Session session = HibernateUtil.currentSession();
    	 //Transaction tx = session.beginTransaction();
     
     
    	 //Insertion 
    	 User u = new User();
    	 u.setNom("che");
    	 u.setPrenom("Sylvie");
    	 session.save(u);
     
     
    	 tx.commit();
    	 HibernateUtil.closeSession();
     }
    }
    ou je fais une mise à jour :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public static void main(String[] args) throws HibernateException {
     
    	 Session session = HibernateUtil.currentSession();
    	 Transaction tx = session.beginTransaction();
     
    	 User u = (User) session.load(User.class, new Integer(1));
    	 u.setPrenom("Jacques");
    	 session.save(u);
     
     
    	 tx.commit();
    	 HibernateUtil.closeSession();
     }
    }
    ca passe nickel. Mais quand j'essaie de lire le contenu de ma table user (que j'ai renommé en tuser par la suite car je me suis dit que peut etre que c'est un mot reservé).



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    	 Query query = session.createQuery("from tuser");
    	 List list = query.list();
    	 //List list = session.find("from user");
    	 Iterator it = list.iterator();
    	 while (it.hasNext()) {
    		 User u = (User)it.next();
    		 System.out.print(u.getPrenom());
    	 }

    j'ai a chaque fois une erreur com.mysql.jdbc.exceptions.MySQLSyntaxErrorException qui me dit que me requete n'est HQL n'est pas correct. Je ne comprends pas, comment peux t-on faire plus simple qu'un : from Matable

    Ou me suis je trompé ?

    INFO: building session factory
    22 juin 2008 11:29:12 net.sf.hibernate.impl.SessionFactoryObjectFactory addInstance
    INFO: Not binding factory to JNDI, no JNDI name configured
    22 juin 2008 11:29:12 net.sf.hibernate.util.JDBCExceptionReporter logExceptions
    ATTENTION: SQL Error: 1064, SQLState: 42000
    22 juin 2008 11:29:12 net.sf.hibernate.util.JDBCExceptionReporter logExceptions
    GRAVE: Erreur de syntaxe près de 'from' à la ligne 1
    22 juin 2008 11:29:12 net.sf.hibernate.util.JDBCExceptionReporter logExceptions
    ATTENTION: SQL Error: 1064, SQLState: 42000
    22 juin 2008 11:29:12 net.sf.hibernate.util.JDBCExceptionReporter logExceptions
    GRAVE: Erreur de syntaxe près de 'from' à la ligne 1
    22 juin 2008 11:29:12 net.sf.hibernate.JDBCException <init>
    GRAVE: Could not execute query
    com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Erreur de syntaxe près de 'from' à la ligne 1
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985)
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1631)
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723)
    at com.mysql.jdbc.Connection.execSQL(Connection.java:3283)
    at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1332)
    at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1467)
    at net.sf.hibernate.impl.BatcherImpl.getResultSet(BatcherImpl.java:87)
    at net.sf.hibernate.loader.Loader.getResultSet(Loader.java:875)
    at net.sf.hibernate.loader.Loader.doQuery(Loader.java:269)
    at net.sf.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:133)
    at net.sf.hibernate.loader.Loader.doList(Loader.java:1033)
    at net.sf.hibernate.loader.Loader.list(Loader.java:1024)
    at net.sf.hibernate.hql.QueryTranslator.list(QueryTranslator.java:854)
    at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1544)
    at net.sf.hibernate.impl.QueryImpl.list(QueryImpl.java:39)
    at Test.main(Test.java:28)
    Exception in thread "main" net.sf.hibernate.JDBCException: Could not execute query
    at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1547)
    at net.sf.hibernate.impl.QueryImpl.list(QueryImpl.java:39)
    at Test.main(Test.java:28)
    Caused by: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Erreur de syntaxe près de 'from' à la ligne 1
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985)
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1631)
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723)
    at com.mysql.jdbc.Connection.execSQL(Connection.java:3283)
    at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1332)
    at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1467)
    at net.sf.hibernate.impl.BatcherImpl.getResultSet(BatcherImpl.java:87)
    at net.sf.hibernate.loader.Loader.getResultSet(Loader.java:875)
    at net.sf.hibernate.loader.Loader.doQuery(Loader.java:269)
    at net.sf.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:133)
    at net.sf.hibernate.loader.Loader.doList(Loader.java:1033)
    at net.sf.hibernate.loader.Loader.list(Loader.java:1024)
    at net.sf.hibernate.hql.QueryTranslator.list(QueryTranslator.java:854)
    at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1544)
    ... 2 more
    PS : je me suis inspiré du tuto : http://defaut.developpez.com/tutorie...pse/hibernate/

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    548
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 548
    Points : 635
    Points
    635
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Query query = session.createQuery("from tuser");
    Il ne faut pas mettre le nom des tables mais le nom des classes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Query query = session.createQuery("from User");

  3. #3
    Membre chevronné
    Profil pro
    MOA
    Inscrit en
    Décembre 2002
    Messages
    1 070
    Détails du profil
    Informations personnelles :
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : MOA

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 070
    Points : 1 903
    Points
    1 903
    Par défaut
    chapeau, quel reactivité et plus c'etait ca.

    sincèrement the-gtm je te remercie beaucoup de m'avoir dépaner.


    Je mets donc en résolu le thread

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2010] Mise à jour d'un sous formulaire avec requete
    Par comme de bien entendu dans le forum VBA Access
    Réponses: 3
    Dernier message: 20/01/2014, 19h01
  2. Réponses: 7
    Dernier message: 18/12/2013, 14h29
  3. Réponses: 15
    Dernier message: 12/12/2011, 17h07
  4. Problème de mise à jour des champs Auto incrémentés avec VB6.
    Par NHenry dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 28/05/2007, 16h06
  5. Mise à jour impossible, objet en lecture seule
    Par Pitou5464 dans le forum Access
    Réponses: 3
    Dernier message: 12/09/2006, 18h26

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