hql你就直接写就行,笨方法就是查询所有的,放在List集合里,然后list.size就得到数据库表的总记录数了啊要非写hql语句的话它和sql语句是一样的SELECTcount(*)FROM类名

Hibernate的hql原理是程序员不直接操作数据库,只要操作实体类就可以了,所以你想查什么,就把直接用类里的成员变量就行了
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
hibernate的update只能更新实体,而不可以执行hql语句~~也就是说this.getHibernateTemplate().update(Object);才可以不是你语句写的有问题。另外,hibernate有提供对jdbc封装的接口,你可以自己去实现这样的话就可以用sql来执行了
selectc.*frombcspxxa,swdjglb,nsrbhcwherea.nsrbm=b.nsrbhandb.nsrbh=c.主键sql是这样的你根据需要转成hql或者直接用hibernate执行sql语句hql是面向对象的一般不定义要取某一列
Criteria提供了更加符合面向对象编程模式的查询封装模式。不过,HQL(Hibernate
QueryLanguage)提供了更加强大的功能
下面是一组HQL的例子,代码中的s都代表Nhibernate的Session
1.用select方法统计(去除了重复)
取最大/最小值/合计的例子和上面的例子类似,只是avg可以换成max,min,sum
返回一个指定的类
假设你有一个类:SummaryItem即统计类,你要返回一个列表的统计结果,你可以
很难得HQL还有SubStringLocateTrimLengthBit_lengthCoalesceUpper等字符计算功能,你可以
很难得HQL还有Nullif等判断功能,你可以
很难得HQL还有AbsModSqrt等数学函数功能,你可以
详解和时间相关的例子