HQL(Hibernate Query Language)查询语言是完全面向对象的查询语言,它提供了更加面向对象的封装,可以理解如多态.继承和关联. HQL的基本语法如下: select "对象.属性名" from "对象" where "过滤条件" group by "对象.属性名" having "分组条件" order by "对象.属性名"…
在NHibernate 中 HQL 可以帮我们转成最终依赖数据库的查询脚本: 语法也甚是强大,适配主流数据库, HQL不支持union,要想取多个表数据可以做两次单独查询. IQuery query = NHibernateHelper.OpenSession() .CreateQuery( @"select p from Product as p,Product as pp where p.Name=pp.Name"); IList result = query.List(); IE…
概述:数据查询与检索是Hibernate中的一个亮点,相对其他ORM实现而言,Hibernate提供了灵活多样的查询机制. 标准化对象查询(Criteria Query):以对象的方式进行查询,将查询语句封闭为对象操作.优点:可主动性好,符合Java程序员的编码习惯.缺点:不够成熟,不支持投影 (projection)或统计函数(aggregation) n 例:查询用户名以“J”开头的所有用户 Criteria c = session.createCreateria(User.class)…