1.Hibernate查询方式
   1.get|load(class,id):OID查询
   2.HQL(Hibernate Query Lanage):HQL查询
   3.QBC(Query By Criteria):Criteria查询
   4.原生SQL查询(Native Sql):使用Hibernate来执行sql语句
   5.命名查询:在映射文件中定义字符串形式的查询语句
2.Hibernate查询操作
    	2.1、HQL:(update delete select)
    	HQL查询示例:
    	1.获得Session
    	Session session = HibernateSessionFactory.getSession();
    	2.编写hql
    	String hql = "from Dept";
    	3.通过Session创建Query对象
    	Query query = session.createQuery(hql);
    	4.通过Query对象执行hql查询
    	List<Dept> list = query.list();
    	for(Dept dept:list){
    	System.out.println(dept.getDname());
    	}
    	5.关闭Session
    	session.close();
    	eg:
    	1.不带条件查询
    	String hql = "from Book"
    	Query query = session.createQuery(hql);
    	2.带条件查询
    	String hql = "from Book where bookName=?"
    	Query query = session.createQuery(hql);
    	query.setString(0,"Oracle");
    	query.setParameter(0,"Oracle");
    	3.投影查询
    	3.1:只查询对象的某个属性 封装指定类型集合
    	Query query = session.createQuery("select name from Users");
    	List<String> names = query.list();
    	3.2:查询对象的多个属性  封装Object数组集合
    	Query query = session.createQuery("select name,pwd from Users");
    	List<Object[]> users = query.list();
    	3.3:查询对象的多个属性 封装成对象 在pojo中提供相应的构造函数
    	Query query = session.createQuery("select new Users(name,pwd) from Users");
    	List<Users> users = query.list();
    	4、查询绑定参数的方式
    	 按参数位置绑定  
    	根据数据类型使用set方法(下标,参数值)
    	 按参数名绑定
    	使用setParameter(参数名,参数值)
    	 使用对象作为方法参数进行查询
    	setProperties(对象名);
     
 
HQL 实用技术
原文:http://www.cnblogs.com/QQW-HH/p/7642832.html