2013-11-22 2 views
1

я работать с оракулом и HQLфункция to_date с оракулом и HQL в спящий режим

У меня есть этот запрос:

Query query = getSession().createQuery("FROM RequestHealthCertificate rs WHERE rs.requestDateHcertif between to_date(:pstartDate,'MM/DD/YYYY') and to_date(:pendDate,'MM/DD/YYYY')"); 

     //Query query = getSession().createQuery("FROM RequestHealthCertificate rs WHERE rs.requestDateHcertif between :pstartDate and :pendDate"); 

     query.setParameter("pstartDate", startDate); 
     query.setParameter("pendDate", endDate); 

это является примером даты, которые будут преобразованы с помощью TO_DATEчт 7 ноября 00:00:00 CET 2013

, но когда я проверить у меня есть эта ошибка:

ERROR [org.hibernate.util.JDBCExceptionReporter] (http-localhost-127.0.0.1-8080-1) ORA-01858: Caractère non numérique trouvé à la place d'un caractère numérique 

09:07:49,635 INFO [org.directwebremoting.log.accessLog] (http-localhost-127.0.0.1-8080-1) Method execution failed: : org.hibernate.exception.DataException: could not execute query 
    at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:102) [hibernate3.jar:3.5.3-Final] 
    at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66) [hibernate3.jar:3.5.3-Final] 

ответ

1

Вы должны быть уверены, что эти переменные типа String, а не DATE, и они должны иметь одинаковый формат.

Смежные вопросы