【发布时间】:2010-11-29 20:06:11
【问题描述】:
我在 Java 应用程序中使用 Hibernate 和 PostgreSQL 8.4 数据库。我有以下查询:
Query q = session.createQuery("from User where validStartDate < " + getDate() +" and validEndDate >" + getDate());
其中 validStartDate 是 PostgreSQL 数据库中的日期,getDate 使用 SimpleDateFormat 从当前日期返回一个字符串。
但我不断收到错误消息:
Caused by: org.postgresql.util.PSQLException: ERROR: operator does not exist: date < integer
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1592)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1327)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:192)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:451)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:350)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:254)
at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:186)
at org.hibernate.loader.Loader.getResultSet(Loader.java:1787)
at org.hibernate.loader.Loader.doQuery(Loader.java:674)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
at org.hibernate.loader.Loader.doList(Loader.java:2220)
... 49 more
2010-11-29 20:42:19 org.hibernate.util.JDBCExceptionReporter logExceptions
WARNING: SQL Error: 0, SQLState: 42883
2010-11-29 20:42:19 org.hibernate.util.JDBCExceptionReporter logExceptions
SEVERE: ERROR: operator does not exist: date < integer
如何转换值,使其具有正确的 Date 类型而不是整数?
感谢您的帮助。
【问题讨论】:
标签: java hibernate postgresql date