java - 两天之间的 hibernate 标准

标签 java hibernate

我正在尝试获取两个日期之间的行数。 第一次约会是今天,第二次约会是 15 天前。

Criteria criteria = session.createCriteria(Order.class);
            Calendar c15DaysAgo = Calendar.getInstance(); // 15 days ago
            c15DaysAgo.add(Calendar.DAY_OF_YEAR, -15);

            Calendar today = Calendar.getInstance(); // today
            today.add(Calendar.DAY_OF_YEAR, 0);

            criteria.add(Expression.between("orderTime", today, c15DaysAgo));
            totalCount = (Integer) criteria.setProjection(Projections.rowCount()).uniqueResult();

我遇到了这个异常:

java.lang.ClassCastException: java.util.GregorianCalendar cannot be cast to java.util.Date
    at org.hibernate.type.TimestampType.toString(TimestampType.java:55)
    at org.hibernate.type.NullableType.nullSafeToString(NullableType.java:93)
    at org.hibernate.type.NullableType.nullSafeSet(NullableType.java:140)
    at org.hibernate.type.NullableType.nullSafeSet(NullableType.java:116)
    at org.hibernate.loader.Loader.bindPositionalParameters(Loader.java:1707)
    at org.hibernate.loader.Loader.bindParameterValues(Loader.java:1678)
    at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1563)
    at org.hibernate.loader.Loader.doQuery(Loader.java:673)
    at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
    at org.hibernate.loader.Loader.doList(Loader.java:2220)
    at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
    at org.hibernate.loader.Loader.list(Loader.java:2099)
    at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:94)
    at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1569)
    at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:283)
    at org.hibernate.impl.CriteriaImpl.uniqueResult(CriteriaImpl.java:305)

有什么方法可以计算吗?

最佳答案

你需要today.getTime()。 Hibernate 想要一个日期,而不是日历...

关于java - 两天之间的 hibernate 标准,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5972528/

相关文章:

java - HSSF。清除单元格

java - 使用 StepScopeTestExecutionListener.class : Still getting "No Scope registered" 对 Step 作用域 Bean 进行 JUnit 测试

java - SimpleDateFormat 解析根据时区改变时间

java - 为什么 hibernate 不在 OneToMany 的所有者端设置外键

java - Spring Data JPA - 大规模更新不起作用

java - double 在 java 中添加非常奇怪?

java - 使用 java 将超过 16mb 的文档插入 Mongo db 3.0

java - JPA 中的三角函数

java - JPA 2.1/Hibernate - 将 2 个不相关的实体加入到与第三个实体有 @OneToMany 关系的第一个实体中

java - Hibernate Session 未使用 AOP 切点事务管理器绑定(bind)到线程