【发布时间】:2014-02-10 04:29:44
【问题描述】:
我正在尝试进行Hibernate Criteria 查询以从表中获取符合特定条件的行数。类似的东西
SELECT COUNT(*) FROM MyTable WHERE field1 = <numVal> and field2 = 'strVal2'
这是我的标准代码
public static int getTransactionCount(Session session, int parentID) {
Criteria criteria = session.createCriteria(MyTable.class);
return (Integer) criteria.add(Restrictions.eq("parentID", parentID))
.add(Restrictions.eq("txnType", TransactionType.SOME_TYPE))
.setProjection(Projections.count("txnID")).uniqueResult();
}
我明白了
Caused by: java.lang.ClassCastException:
java.lang.Long cannot be cast to java.lang.Integer
at com.mydomain.MyClass.getTransactionCount(MyClass.java:123)
我的标准代码是否有问题,或者我应该总是期待很长时间才能获得计数?
【问题讨论】:
标签: java hibernate hibernate-criteria