我在 DB2 v9 上使用 Hibernate 4 和 JPA 2 的 CriteriaBuilder 来动态构建可以按日期过滤的查询。谓词的相关部分是...
criteriaBuilder.greaterThan(myRoot.get(MyEntity_.myDate), aDateValue)
我的映射非常简单......
@Column(name="MY_DATE")
@Temporal(value = TemporalType.DATE)
public Date getMyDate() {
return myDate;
}
表上的列是类型DATE
。当我运行具有此限制的查询时出现的错误是......
org.hibernate.exception.DataException:DB2 SQL 错误:SQLCODE=-181,SQLSTATE=22007
如果我使用生成的 SQL 并在独立的 SQL 编辑器中运行它,它运行良好。我试过改变TemporalType.TIMESTAMP
,但没有运气。我已经仔细检查了绑定输入在运行时是否有效。