Bonjour,
J'ai un probléme lors de l'execution de la recherche dans une base de données.
J'ai une table COUNTRY trés simple (4 champs de type VARCHAR, pas de trigger, de vue, ...) dont la clé est COUNRY_ID.
C'est lors ce la "requête" qu'il se produit l'exception, ce que je comprends pas c'est qu'il me dit qu'il y a un probléme avec la table !
Alors qu'il arrive à la mapper au départ.
(La table existe, la valeur "FRA" dans le champs COUNTRY_ID existe, ...)
Voilà la log:
Code:
3 août 2006 11:06:54 org.hibernate.cfg.Environment <clinit>
INFO: Hibernate 3.1.3
3 août 2006 11:06:54 org.hibernate.cfg.Environment <clinit>
INFO: hibernate.properties not found
3 août 2006 11:06:54 org.hibernate.cfg.Environment <clinit>
INFO: using CGLIB reflection optimizer
3 août 2006 11:06:54 org.hibernate.cfg.Environment <clinit>
INFO: using JDK 1.4 java.sql.Timestamp handling
3 août 2006 11:06:54 org.hibernate.cfg.Configuration addClass
INFO: Reading mappings from resource: com/ideo/sweetconsole/commons/beans/Country.hbm.xml
3 août 2006 11:06:54 org.hibernate.cfg.HbmBinder bindRootPersistentClassCommonValues
INFO: Mapping class: com.ideo.sweetconsole.commons.beans.Country -> COUNTRY
3 août 2006 11:06:54 org.hibernate.cfg.Configuration configure
INFO: configuring from resource: /hibernate.cfg.xml
3 août 2006 11:06:54 org.hibernate.cfg.Configuration getConfigurationInputStream
INFO: Configuration resource: /hibernate.cfg.xml
3 août 2006 11:06:54 org.hibernate.cfg.Configuration doConfigure
INFO: Configured SessionFactory: null
3 août 2006 11:06:54 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: Using Hibernate built-in connection pool (not for production use!)
3 août 2006 11:06:54 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: Hibernate connection pool size: 20
3 août 2006 11:06:54 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: autocommit mode: false
3 août 2006 11:06:55 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: using driver: oracle.jdbc.driver.OracleDriver at URL: jdbc:oracle:thin:@parpa1000411:1521:pbcbdev
3 août 2006 11:06:55 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: connection properties: {user=sweetdev, password=****}
3 août 2006 11:06:55 org.hibernate.cfg.SettingsFactory buildSettings
INFO: RDBMS: Oracle, version: Oracle9i Enterprise Edition Release 9.2.0.4.0 - 64bit Production
JServer Release 9.2.0.4.0 - Production
3 août 2006 11:06:55 org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC driver: Oracle JDBC driver, version: 9.2.0.5.0
3 août 2006 11:06:55 org.hibernate.dialect.Dialect <init>
INFO: Using dialect: org.hibernate.dialect.OracleDialect
3 août 2006 11:06:55 org.hibernate.transaction.TransactionFactoryFactory buildTransactionFactory
INFO: Using default transaction strategy (direct JDBC transactions)
3 août 2006 11:06:55 org.hibernate.transaction.TransactionManagerLookupFactory getTransactionManagerLookup
INFO: No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
3 août 2006 11:06:55 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Automatic flush during beforeCompletion(): disabled
3 août 2006 11:06:55 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Automatic session close at end of transaction: disabled
3 août 2006 11:06:55 org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC batch size: 15
3 août 2006 11:06:55 org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC batch updates for versioned data: disabled
3 août 2006 11:06:55 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Scrollable result sets: enabled
3 août 2006 11:06:55 org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC3 getGeneratedKeys(): disabled
3 août 2006 11:06:55 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Connection release mode: auto
3 août 2006 11:06:55 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Default batch fetch size: 1
3 août 2006 11:06:55 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Generate SQL with comments: disabled
3 août 2006 11:06:55 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Order SQL updates by primary key: disabled
3 août 2006 11:06:55 org.hibernate.cfg.SettingsFactory createQueryTranslatorFactory
INFO: Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
3 août 2006 11:06:55 org.hibernate.hql.ast.ASTQueryTranslatorFactory <init>
INFO: Using ASTQueryTranslatorFactory
3 août 2006 11:06:55 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Query language substitutions: {}
3 août 2006 11:06:55 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Second-level cache: enabled
3 août 2006 11:06:55 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Query cache: disabled
3 août 2006 11:06:55 org.hibernate.cfg.SettingsFactory createCacheProvider
INFO: Cache provider: org.hibernate.cache.EhCacheProvider
3 août 2006 11:06:55 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Optimize cache for minimal puts: disabled
3 août 2006 11:06:55 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Structured second-level cache entries: disabled
3 août 2006 11:06:55 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Echoing all SQL to stdout
3 août 2006 11:06:55 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Statistics: disabled
3 août 2006 11:06:55 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Deleted entity synthetic identifier rollback: disabled
3 août 2006 11:06:55 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Default entity-mode: pojo
3 août 2006 11:06:55 org.hibernate.impl.SessionFactoryImpl <init>
INFO: building session factory
3 août 2006 11:06:55 net.sf.ehcache.config.Configurator configure
WARNING: No configuration found. Configuring ehcache from ehcache-failsafe.xml found in the classpath: jar:file:/C:/workspacePBCBnet_RAD/PilotageBusiness/ehcache-1.1.jar!/ehcache-failsafe.xml
3 août 2006 11:06:56 org.hibernate.impl.SessionFactoryObjectFactory addInstance
INFO: Not binding factory to JNDI, no JNDI name configured
ETAPE 4.2
ETAPE 4.3 Thu Aug 03 11:06:56 CEST 2006
Hibernate: select this_.COUNTRY_ID as COUNTRY1_0_0_, this_.FRENCH_NAME as FRENCH2_0_0_, this_.ENGLISH_NAME as ENGLISH3_0_0_, this_.FLAG_NAME as FLAG4_0_0_ from COUNTRY this_ where this_.COUNTRY_ID=?
3 août 2006 11:06:56 org.hibernate.util.JDBCExceptionReporter logExceptions
WARNING: SQL Error: 942, SQLState: 42000
3 août 2006 11:06:56 org.hibernate.util.JDBCExceptionReporter logExceptions
SEVERE: ORA-00942: Table ou vue inexistante
org.hibernate.exception.SQLGrammarException: could not execute query
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.loader.Loader.doList(Loader.java:2148)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2029)
at org.hibernate.loader.Loader.list(Loader.java:2024)
at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:94)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1533)
at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:283)
at com.ideo.sweetconsole.commons.PersistantSessionManager.initialiser(PersistantSessionManager.java:46)
at com.ideo.sweetconsole.commons.PersistantSessionManager.main(PersistantSessionManager.java:65)
Caused by: java.sql.SQLException: ORA-00942: Table ou vue inexistante
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:582)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1986)
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteDescribe(TTC7Protocol.java:880)
at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:2516)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2850)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:609)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:537)
at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:139)
at org.hibernate.loader.Loader.getResultSet(Loader.java:1669)
at org.hibernate.loader.Loader.doQuery(Loader.java:662)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
at org.hibernate.loader.Loader.doList(Loader.java:2145)
... 7 more
Voila le .java :
Code:
public class PersistantSessionManager {
static public void initialiser() {
try {
Configuration aConfiguration = new Configuration().addClass(Country.class);
aConfiguration.configure();
Session aSession = aConfiguration.buildSessionFactory().openSession();
Criterion criterion = Expression.eq( "countryId", "FRA" );
Criteria criteria = aSession.createCriteria(Country.class).add( criterion );
System.out.println("ETAPE " + 4.3 + " " + new Date( ).toString() );
List resultat = criteria.list();
System.out.println("ETAPE " + 4.4 + " " + new Date( ).toString() );
}
catch(Exception e ) {
e.printStackTrace();
}
}
public static void main(String[] args) {
initialiser();
}
}
Voila le fichier de mapping :
Code:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.ideo.sweetconsole.commons.beans.Country" table="COUNTRY">
<id name="countryId" column="COUNTRY_ID" type="java.lang.String"/>
<property name="frenchName" column="FRENCH_NAME" type="java.lang.String" />
<property name="englishName" column="ENGLISH_NAME" type="java.lang.String" />
<property name="flagName" column="FLAG_NAME" type="java.lang.String" />
</class>
</hibernate-mapping>
Merci d'avance pour votre aide ![/code]