Problème d'exécution des requêtes

boualiasma Messages postés 393 Date d'inscription lundi 22 juin 2009 Statut Membre Dernière intervention 23 décembre 2011 - 6 déc. 2009 à 11:48
boualiasma Messages postés 393 Date d'inscription lundi 22 juin 2009 Statut Membre Dernière intervention 23 décembre 2011 - 8 déc. 2009 à 21:43
Bonjour,

Je voulais faire des requêtes de manipulation d'une base des donnée sous Mysql en utilisant le framework de mappage Hibernate.
Il y a quelques requêtes qui ne s'exécutent pas.
Voici ces requêtes:

List employe = session.createQuery("from Employe p where p.nom=?","ali", Hibernate.STRING).list();
       
         for (int i = 0; i < employe.size(); i++) {
    Employe eps = (Employe) employe.get(i);
    System.out.println("nom = " +  eps.getNom());


Query query session.createQuery("from Employe p where p.nom :bassem" );
       query.setString("bassem", "can" );
      Iterator It = query.iterate();
   
         while (It.hasNext()) {
            Employe per = (Employe) It.next();
            System.out.println("nom = " + per.getNom());
          }


int compteur = ( (Integer) session.createQuery("select count(*) from Employe" ).iterate().next() ).intValue();
          System.out.println("compteur = " + compteur);





Que proposez vous ?

Merci.

6 réponses

kirua12 Messages postés 1155 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 29 avril 2011 7
7 déc. 2009 à 12:16
Salut,

j'adore les trucs du style : "ça marche pas ! pourquoi ??"

C'est à dire, ça marche pas ? quelle erreur ? quel résultat ? tu as quoi en débug ? l'âge du capitaine ?
0
boualiasma Messages postés 393 Date d'inscription lundi 22 juin 2009 Statut Membre Dernière intervention 23 décembre 2011 5
8 déc. 2009 à 08:32
Voici le résultat de l'exécution:



run:
8 déc. 2009 08:10:43 org.hibernate.cfg.annotations.Version <clinit>
INFO: Hibernate Annotations 3.3.1.GA
8 déc. 2009 08:10:43 org.hibernate.cfg.Environment <clinit>
INFO: Hibernate 3.2.5
8 déc. 2009 08:10:43 org.hibernate.cfg.Environment <clinit>
INFO: hibernate.properties not found
8 déc. 2009 08:10:43 org.hibernate.cfg.Environment buildBytecodeProvider
INFO: Bytecode provider name : cglib
8 déc. 2009 08:10:43 org.hibernate.cfg.Environment <clinit>
INFO: using JDK 1.4 java.sql.Timestamp handling
8 déc. 2009 08:10:43 org.hibernate.cfg.Configuration configure
INFO: configuring from resource: /hibernate.cfg.xml
8 déc. 2009 08:10:43 org.hibernate.cfg.Configuration getConfigurationInputStream
INFO: Configuration resource: /hibernate.cfg.xml
8 déc. 2009 08:10:43 org.hibernate.cfg.Configuration addResource
INFO: Reading mappings from resource : hibernateproject/Employe.hbm.xml
8 déc. 2009 08:10:43 org.hibernate.cfg.Configuration doConfigure
INFO: Configured SessionFactory: null
8 déc. 2009 08:10:43 org.hibernate.cfg.HbmBinder bindRootPersistentClassCommonValues
INFO: Mapping class: hibernateproject.Employe -> employe
8 déc. 2009 08:10:43 org.hibernate.cfg.AnnotationConfiguration secondPassCompile
INFO: Hibernate Validator not found: ignoring
8 déc. 2009 08:10:44 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: Using Hibernate built-in connection pool (not for production use!)
8 déc. 2009 08:10:44 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: Hibernate connection pool size: 20
8 déc. 2009 08:10:44 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: autocommit mode: false
8 déc. 2009 08:10:44 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: using driver: com.mysql.jdbc.Driver at URL: jdbc:mysql://localhost:3306/base_donnee
8 déc. 2009 08:10:44 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: connection properties: {user=root}
8 déc. 2009 08:10:44 org.hibernate.cfg.SettingsFactory buildSettings
INFO: RDBMS: MySQL, version: 4.0.15-max-debug
8 déc. 2009 08:10:44 org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC driver: MySQL-AB JDBC Driver, version: mysql-connector-java-5.0.4 ( $Date: 2006-10-19 17:47:48 +0200 (Thu, 19 Oct 2006) $, $Revision: 5908 $ )
8 déc. 2009 08:10:44 org.hibernate.dialect.Dialect
INFO: Using dialect: org.hibernate.dialect.MySQLDialect
8 déc. 2009 08:10:44 org.hibernate.transaction.TransactionFactoryFactory buildTransactionFactory
INFO: Using default transaction strategy (direct JDBC transactions)
8 déc. 2009 08:10:44 org.hibernate.transaction.TransactionManagerLookupFactory getTransactionManagerLookup
INFO: No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
8 déc. 2009 08:10:44 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Automatic flush during beforeCompletion(): disabled
8 déc. 2009 08:10:44 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Automatic session close at end of transaction: disabled
8 déc. 2009 08:10:44 org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC batch size: 15
8 déc. 2009 08:10:44 org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC batch updates for versioned data: disabled
8 déc. 2009 08:10:44 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Scrollable result sets: enabled
8 déc. 2009 08:10:44 org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC3 getGeneratedKeys(): enabled
8 déc. 2009 08:10:44 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Connection release mode: auto
8 déc. 2009 08:10:44 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Maximum outer join fetch depth: 2
8 déc. 2009 08:10:44 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Default batch fetch size: 1
8 déc. 2009 08:10:44 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Generate SQL with comments: disabled
8 déc. 2009 08:10:44 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Order SQL updates by primary key: disabled
8 déc. 2009 08:10:44 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Order SQL inserts for batching: disabled
8 déc. 2009 08:10:44 org.hibernate.cfg.SettingsFactory createQueryTranslatorFactory
INFO: Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
8 déc. 2009 08:10:44 org.hibernate.hql.ast.ASTQueryTranslatorFactory
INFO: Using ASTQueryTranslatorFactory
8 déc. 2009 08:10:44 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Query language substitutions: {}
8 déc. 2009 08:10:44 org.hibernate.cfg.SettingsFactory buildSettings
INFO: JPA-QL strict compliance: disabled
8 déc. 2009 08:10:44 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Second-level cache: enabled
8 déc. 2009 08:10:44 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Query cache: disabled
8 déc. 2009 08:10:44 org.hibernate.cfg.SettingsFactory createCacheProvider
INFO: Cache provider: org.hibernate.cache.NoCacheProvider
8 déc. 2009 08:10:44 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Optimize cache for minimal puts: disabled
8 déc. 2009 08:10:44 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Structured second-level cache entries: disabled
8 déc. 2009 08:10:44 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Statistics: disabled
8 déc. 2009 08:10:44 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Deleted entity synthetic identifier rollback: disabled
8 déc. 2009 08:10:44 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Default entity-mode: pojo
8 déc. 2009 08:10:44 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Named query checking : enabled
8 déc. 2009 08:10:44 org.hibernate.impl.SessionFactoryImpl
INFO: building session factory
8 déc. 2009 08:10:44 org.hibernate.impl.SessionFactoryObjectFactory addInstance
INFO: Not binding factory to JNDI, no JNDI name configured
nom = dd
********************
nom = aaa
nom = bbb
nom = cc
nom = dd
nom = bassem
nom = ha
nom = am
nom = ah
nom = far
nom = si
********************
********************
nom = aaa
nom = bbb
nom = cc
nom = dd
nom = bassem
nom = ha
nom = am
nom = ah
nom = far
nom = si
********************
Exception in thread "main" java.lang.ClassCastException: java.lang.Long
at hibernateproject.Main.main(Main.java:125)
Java Result: 1
BUILD SUCCESSFUL (total time: 2 seconds)




Merci.
0
kirua12 Messages postés 1155 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 29 avril 2011 7
8 déc. 2009 à 09:32
hum, l'erreur semble claire pourtant
Exception in thread "main" java.lang.ClassCastException: java.lang.Long
at hibernateproject.Main.main(Main.java:125) 


C'est quoi la ligne 125 ? ça correspond à ça ?
int compteur = ( (Integer) session.createQuery("select count(*) from Employe" ).iterate().next() ).intValue();
          System.out.println("compteur = " + compteur);


Cast en Long au lieu de Integer
0
boualiasma Messages postés 393 Date d'inscription lundi 22 juin 2009 Statut Membre Dernière intervention 23 décembre 2011 5
8 déc. 2009 à 11:23
int compteur = ( (Integer) session.createQuery("select count(*) from Employe" ).iterate().next() ).intValue();
System.out.println("compteur = " + compteur);


Oui c'est la ligne 125.

Pour les 2 autres requêtes pourquoi elles ne s'exécutent pas : ?

List employe = session.createQuery("from Employe p where p.nom=?","ali", Hibernate.STRING).list();
       
         for (int i = 0; i < employe.size(); i++) {
    Employe eps = (Employe) employe.get(i);
    System.out.println("nom = " +  eps.getNom());


Query query session.createQuery("from Employe p where p.nom :bassem" );
       query.setString("bassem", "can" );
      Iterator It = query.iterate();
   
         while (It.hasNext()) {
            Employe per = (Employe) It.next();
            System.out.println("nom = " + per.getNom());
          }

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kirua12 Messages postés 1155 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 29 avril 2011 7
8 déc. 2009 à 11:32
dans ta base, tu as des employés avec 'ali' et 'can' comme nom ? en debug, tu as des données dans la collection retournée ? tu as vérifié la requête que génére hibernate ?
0
boualiasma Messages postés 393 Date d'inscription lundi 22 juin 2009 Statut Membre Dernière intervention 23 décembre 2011 5
8 déc. 2009 à 21:43
Oui 'ali' existe dans la table ?

'can' va remplacer 'bassem' qui existe dans la table

Après l'exécution,j'ai ceci:
run:
8 déc. 2009 21:29:08 org.hibernate.cfg.annotations.Version <clinit>
INFO: Hibernate Annotations 3.3.1.GA
8 déc. 2009 21:29:09 org.hibernate.cfg.Environment <clinit>
INFO: Hibernate 3.2.5
8 déc. 2009 21:29:09 org.hibernate.cfg.Environment <clinit>
INFO: hibernate.properties not found
8 déc. 2009 21:29:09 org.hibernate.cfg.Environment buildBytecodeProvider
INFO: Bytecode provider name : cglib
8 déc. 2009 21:29:09 org.hibernate.cfg.Environment <clinit>
INFO: using JDK 1.4 java.sql.Timestamp handling
8 déc. 2009 21:29:09 org.hibernate.cfg.Configuration configure
INFO: configuring from resource: /hibernate.cfg.xml
8 déc. 2009 21:29:09 org.hibernate.cfg.Configuration getConfigurationInputStream
INFO: Configuration resource: /hibernate.cfg.xml
8 déc. 2009 21:29:09 org.hibernate.cfg.Configuration addResource
INFO: Reading mappings from resource : hibernateproject/Employe.hbm.xml
8 déc. 2009 21:29:09 org.hibernate.cfg.Configuration doConfigure
INFO: Configured SessionFactory: null
8 déc. 2009 21:29:09 org.hibernate.cfg.HbmBinder bindRootPersistentClassCommonValues
INFO: Mapping class: hibernateproject.Employe -> employe
8 déc. 2009 21:29:09 org.hibernate.cfg.AnnotationConfiguration secondPassCompile
INFO: Hibernate Validator not found: ignoring
8 déc. 2009 21:29:09 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: Using Hibernate built-in connection pool (not for production use!)
8 déc. 2009 21:29:09 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: Hibernate connection pool size: 20
8 déc. 2009 21:29:09 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: autocommit mode: false
8 déc. 2009 21:29:09 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: using driver: com.mysql.jdbc.Driver at URL: jdbc:mysql://localhost:3306/base_donnee
8 déc. 2009 21:29:09 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: connection properties: {user=root}
8 déc. 2009 21:29:09 org.hibernate.cfg.SettingsFactory buildSettings
INFO: RDBMS: MySQL, version: 4.0.15-max-debug
8 déc. 2009 21:29:09 org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC driver: MySQL-AB JDBC Driver, version: mysql-connector-java-5.0.4 ( $Date: 2006-10-19 17:47:48 +0200 (Thu, 19 Oct 2006) $, $Revision: 5908 $ )
8 déc. 2009 21:29:09 org.hibernate.dialect.Dialect
INFO: Using dialect: org.hibernate.dialect.MySQLDialect
8 déc. 2009 21:29:09 org.hibernate.transaction.TransactionFactoryFactory buildTransactionFactory
INFO: Using default transaction strategy (direct JDBC transactions)
8 déc. 2009 21:29:09 org.hibernate.transaction.TransactionManagerLookupFactory getTransactionManagerLookup
INFO: No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
8 déc. 2009 21:29:09 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Automatic flush during beforeCompletion(): disabled
8 déc. 2009 21:29:09 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Automatic session close at end of transaction: disabled
8 déc. 2009 21:29:09 org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC batch size: 15
8 déc. 2009 21:29:09 org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC batch updates for versioned data: disabled
8 déc. 2009 21:29:09 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Scrollable result sets: enabled
8 déc. 2009 21:29:09 org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC3 getGeneratedKeys(): enabled
8 déc. 2009 21:29:09 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Connection release mode: auto
8 déc. 2009 21:29:09 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Maximum outer join fetch depth: 2
8 déc. 2009 21:29:09 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Default batch fetch size: 1
8 déc. 2009 21:29:09 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Generate SQL with comments: disabled
8 déc. 2009 21:29:09 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Order SQL updates by primary key: disabled
8 déc. 2009 21:29:09 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Order SQL inserts for batching: disabled
8 déc. 2009 21:29:09 org.hibernate.cfg.SettingsFactory createQueryTranslatorFactory
INFO: Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
8 déc. 2009 21:29:09 org.hibernate.hql.ast.ASTQueryTranslatorFactory
INFO: Using ASTQueryTranslatorFactory
8 déc. 2009 21:29:09 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Query language substitutions: {}
8 déc. 2009 21:29:09 org.hibernate.cfg.SettingsFactory buildSettings
INFO: JPA-QL strict compliance: disabled
8 déc. 2009 21:29:09 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Second-level cache: enabled
8 déc. 2009 21:29:09 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Query cache: disabled
8 déc. 2009 21:29:09 org.hibernate.cfg.SettingsFactory createCacheProvider
INFO: Cache provider: org.hibernate.cache.NoCacheProvider
8 déc. 2009 21:29:09 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Optimize cache for minimal puts: disabled
8 déc. 2009 21:29:09 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Structured second-level cache entries: disabled
8 déc. 2009 21:29:09 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Statistics: disabled
8 déc. 2009 21:29:09 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Deleted entity synthetic identifier rollback: disabled
8 déc. 2009 21:29:09 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Default entity-mode: pojo
8 déc. 2009 21:29:09 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Named query checking : enabled
8 déc. 2009 21:29:10 org.hibernate.impl.SessionFactoryImpl
INFO: building session factory
8 déc. 2009 21:29:10 org.hibernate.impl.SessionFactoryObjectFactory addInstance
INFO: Not binding factory to JNDI, no JNDI name configured
nom = sameh
********************
nom = ali
nom = mohamed
nom = hanene
nom = sameh
nom = bassem
nom = hassen
nom = amal
nom = ahmed
nom = farah
nom = sihem
********************
Exception in thread "main" java.lang.RuntimeException: Uncompilable source code
at hibernateproject.Main.main(Main.java:105)
Java Result: 1
BUILD SUCCESSFUL (total time: 7 seconds)
0
Rejoignez-nous