G exécuté la reqête ci dessous : et g eu cette erreur "SQL Error: 17006, SQLState: null : Nom de colonne non valide". g testé la requete sql généré sur SQLPlus et ça marche.
Je compte sur votre aide sinon je suis viré :))
Hibernate version:3
Mapping documents:
<class name="com.report.persistence.pojos.Lot" table="LOT" >
<id name="sIdlot" type="java.lang.String" column="S_IDLOT" > <generator class="assigned" /> </id>
<property name="sIdlotOrigine" type="java.lang.String" column="S_IDLOT_ORIGINE" length="13" /> <property name="dtCreation" type="java.util.Date" column="DT_CREATION" length="7" /> <property name="sStatut" type="java.lang.String" column="S_STATUT" length="50" /> <property name="sIspidlot" type="java.lang.String" column="S_ISPIDLOT" length="8" /> <property name="nbCourriers" type="java.lang.String" column="NB_COURRIERS" length="3" /> <property name="nbPages" type="java.lang.String" column="NB_PAGES" length="4" /> <property name="nbRejets" type="java.lang.String" column="NB_REJETS" length="3" /> <property name="nbSignals" type="java.lang.String" column="NB_SIGNALS" length="2" /> <property name="typeDoc" type="java.lang.String" column="TYPE_DOC" length="20" /> <property name="operateur" type="java.lang.String" column="OPERATEUR" length="60" />
Code SQLQuery :
String sql="select lot.OPERATEUR as op, trunc(lot.DT_CREATION) as dt, SUM(TO_NUMBER(lot.NB_COURRIERS)) as nbr, lot.TYPE_DOC as docT "+
"from lot lot "+
"where trunc(lot.DT_CREATION) = trunc(:D) " +
"and lot.OPERATEUR IS NOT NULL and lot.TYPE_DOC IS NOT NULL "+
"group by lot.OPERATEUR, trunc(lot.DT_CREATION), lot.TYPE_DOC "+
"order by lot.OPERATEUR, trunc(lot.DT_CREATION), lot.TYPE_DOC";
list = myHibernateSession.createSQLQuery(sql)
.addEntity("lot", Lot.class)
.setDate("D", fDate)
.list();
Name and version of the database you are using:
Oracle 8i
The generated SQL (show_sql=true):
select lot.OPERATEUR as op, trunc(lot.DT_CREATION) as dt, SUM(TO_NUMBER(lot.NB_COURRIERS)) as nbr, lot.TYPE_DOC as docT from lot lot where trunc(lot.DT_CREATION) = trunc(?) and lot.OPERATEUR IS NOT NULL and lot.TYPE_DOC IS NOT NULL group by lot.OPERATEUR, trunc(lot.DT_CREATION), lot.TYPE_DOC order by lot.OPERATEUR, trunc(lot.DT_CREATION), lot.TYPE_DOC
Full stack trace of any exception that occurs:
Hibernate: select lot.OPERATEUR as op, trunc(lot.DT_CREATION) as dt, SUM(TO_NUMBER(lot.NB_COURRIERS)) as nbr, lot.TYPE_DOC as docT from lot lot where trunc(lot.DT_CREATION) = trunc(?) and lot.OPERATEUR IS NOT NULL and lot.TYPE_DOC IS NOT NULL group by lot.OPERATEUR, trunc(lot.DT_CREATION), lot.TYPE_DOC order by lot.OPERATEUR, trunc(lot.DT_CREATION), lot.TYPE_DOC
Hibernate: select lot.OPERATEUR as op, trunc(lot.DT_CREATION) as dt, SUM(TO_NUMBER(lot.NB_COURRIERS)) as nbr, lot.TYPE_DOC as docT from lot lot where trunc(lot.DT_CREATION) = trunc(?) and lot.OPERATEUR IS NOT NULL and lot.TYPE_DOC IS NOT NULL group by lot.OPERATEUR, trunc(lot.DT_CREATION), lot.TYPE_DOC order by lot.OPERATEUR, trunc(lot.DT_CREATION), lot.TYPE_DOC
2005-09-13 14:16:06,250 [http-8080-Processor22] WARN org.hibernate.util.JDBCExceptionReporter - SQL Error: 17006, SQLState: null
2005-09-13 14:16:06,250 [http-8080-Processor22] ERROR org.hibernate.util.JDBCExceptionReporter - Nom de colonne non valide
2005-09-13 14:16:06,281 [http-8080-Processor25] WARN org.hibernate.util.JDBCExceptionReporter - SQL Error: 17006, SQLState: null
2005-09-13 14:16:06,281 [http-8080-Processor25] ERROR org.hibernate.util.JDBCExceptionReporter - Nom de colonne non valide
org.hibernate.exception.SQLGrammarException: could not execute query
at org.hibernate.exception.ErrorCodeConverter.convert(ErrorCodeConverter.java:70)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.loader.Loader.doList(Loader.java:1596)
at org.hibernate.loader.Loader.list(Loader.java:1577)
at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:112)
at org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1414)
at org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:153)
at com.xerox.bytel.report.persistence.managers.LotPersistenceManagerImpl.findByDtCreation(LotPersistenceManagerImpl.java:113)
at com.xerox.bytel.report.web.businessLayer.SuiviPreparationBL.testPreparedLotByDay(SuiviPreparationBL.java:47)
at com.xerox.bytel.report.web.actions.SuiviPreparationAction.execute(SuiviPreparationAction.java:55)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
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:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.xerox.bytel.commons.filter.HibernateFilter.doFilter(HibernateFilter.java:117)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Unknown Source)
Caused by: java.sql.SQLException: Nom de colonne non valide
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:269)
at oracle.jdbc.driver.OracleStatement.get_column_index(OracleStatement.java:5971)
at oracle.jdbc.driver.OracleResultSetImpl.findColumn(OracleResultSetImpl.java:1527)
at oracle.jdbc.driver.OracleResultSet.getString(OracleResultSet.java:1482)
at com.mchange.v2.c3p0.impl.NewProxyResultSet.getString(NewProxyResultSet.java:3468)
at org.hibernate.type.StringType.get(StringType.java:16)
at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:77)
at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:68)
at org.hibernate.loader.Loader.getKeyFromResultSet(Loader.java:759)
at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:292)
at org.hibernate.loader.Loader.doQuery(Loader.java:412)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:218)
at org.hibernate.loader.Loader.doList(Loader.java:1593)
... 30 more
org.hibernate.exception.SQLGrammarException: could not execute query
at org.hibernate.exception.ErrorCodeConverter.convert(ErrorCodeConverter.java:70)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.loader.Loader.doList(Loader.java:1596)
at org.hibernate.loader.Loader.list(Loader.java:1577)
at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:112)
at org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1414)
at org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:153)
at com.xerox.bytel.report.persistence.managers.LotPersistenceManagerImpl.findByDtCreation(LotPersistenceManagerImpl.java:113)
at com.xerox.bytel.report.web.businessLayer.SuiviPreparationBL.testPreparedLotByDay(SuiviPreparationBL.java:47)
at com.xerox.bytel.report.web.actions.SuiviPreparationAction.execute(SuiviPreparationAction.java:55)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
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:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.xerox.bytel.commons.filter.HibernateFilter.doFilter(HibernateFilter.java:117)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Unknown Source)
Caused by: java.sql.SQLException: Nom de colonne non valide
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:269)
at oracle.jdbc.driver.OracleStatement.get_column_index(OracleStatement.java:5971)
at oracle.jdbc.driver.OracleResultSetImpl.findColumn(OracleResultSetImpl.java:1527)
at oracle.jdbc.driver.OracleResultSet.getString(OracleResultSet.java:1482)
at com.mchange.v2.c3p0.impl.NewProxyResultSet.getString(NewProxyResultSet.java:3468)
at org.hibernate.type.StringType.get(StringType.java:16)
at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:77)
at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:68)
at org.hibernate.loader.Loader.getKeyFromResultSet(Loader.java:759)
at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:292)
at org.hibernate.loader.Loader.doQuery(Loader.java:412)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:218)
at org.hibernate.loader.Loader.doList(Loader.java:1593)
... 30 more
|