之前写jdbc常遇到这个问题
select list后在list.size比起select count(*) from xx 这种方式速度上至少慢了一个数量级
不过刚接触hibernate,又遇到这个需求时就不知所措了
直接
String hql = "select count(*) from Object";
Query q = session.createQuery(hql);
可以解决,不过不能放到泛型dao里,指定表名使得之前做的映射完全丧失了意义
查了半天api,这种方法貌似能解决问题
public int findSumByTime(final Date beginTime, final Date endTime) {
int sum = (Integer) this.getHibernateTemplate().execute(
new HibernateCallback() {
@Override
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
// TODO Auto-generated method stub
Criteria criteria = session.createCriteria(entityClass);
criteria.add(Restrictions.between("date", beginTime,
endTime));
criteria.setProjection(Projections.rowCount());
List results = criteria.list();
int total = Integer.parseInt(results.get(0)
.toString());
return total;
}
});
return sum;
}
先上项目测测再说
分享到:
相关推荐
数据库sql2005,连接采用jtds第三方驱动,增删改查写在action中
Hibernate连表查询 Hibernate连表查询
struts+hibernate+单表的增删改查
Hibernate初之单标映射学习例子
对于某个数据库的单独一个表的增删改查操作,简单易懂可移植性强。需要配合mysql数据库,由于只有一个表,只需要按照java文件里面的建一个database叫chinasoft,再添一个表就可以看到实例的操作效果了,非常简单,...
hibernate多表联合查询实例,很经典的查询语句和总结.
Hibernate 多表连接分页查询示范项目 Hibernate Criteria 多表连接 分页
hibernate 无主键表映射资源说明: 1. 简单Demo 2. Demo对应的sql语句 3. 对应博客文档
通过struts2与hibernate整合,实现用户注册,单表增删改查,内附操作截图,内容超详细,绝对适合初学者。采用MySQL数据库
struts2与hibernate整合,用户注册,单表增删改查,OGNL,数据库采用MySQL,附详细操作步骤截图,源代码,以及相关配置信息,超详细,绝对适合初学者
Hibernate运用Annotation由实体类自动在数据库中生成对应的表
hibernate 多表查询 hibernate 多表不同于一般的sql嵌套查询,嵌套查询是不支持的,所以必须要配置好才能实现多表!只要配置好了,还是特别好用的
hibernate 中间表 希望给予新手帮助
利用hibernate的逆向工程生成数据库表
Hibernate-基础联表模板,因为不可能记得那么多,所以做个模板,平常自用的
该源代码配了了解释,针对hibernate中多表查询的多种形式进行了总结,很有价值,有Object[]形式的查询,也有对象方式的查询 也有集合list形式的查询,
根据hibernate映射文件生成表 Configuration cfg = ( new Configuration()).configure(new File("src/hibernate.cfg.xml"));
Hibernate XML配置表映射实例
spring+hibernate整合实现简单数据库添加记录,适合初学spring的学员
Hibernate实时获取数据库更新记录jar包, 内含:c3p0-0.9.1.2.jar,hibernate-c3p0-4.2.0.Final.jar,mchange-commons-java-0.2.3.4.jar