Java 使用oracle和hql hibernate更新函数
我与oracle和hql合作 我有一个疑问:Java 使用oracle和hql hibernate更新函数,java,oracle,hibernate,Java,Oracle,Hibernate,我与oracle和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().creat
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);
这是一个日期示例,将使用转换为2013年11月7日星期四00:00:00 CET
但当我测试时,我有一个错误:
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]
您应该尝试使用此方法设置日期,而不是使用“截止日期”
您必须确保这些变量的类型是String而不是DATE,并且它们的格式必须相同。如果开始日期和结束日期都是DATE类型,则不需要转换它。 仅当两个值都是字符串类型时才需要转换