用HQL进行实体查询

实体查询
例子1:
Hql代码 复制代码
  1. String hql=”from User user ”;      
  2. List list=session.CreateQuery(hql).list();   


因为HQL语句与标准SQL语句相似,所以我们也可以在HQL语句中使用where字句,并且可以在where字句中使用各种表达式,比较操作符以及使用“and”,”or”连接不同的查询条件的组合。看下面的一些简单的例子:
Hql代码 复制代码
  1. from User user where user.age=20;  


例子2(返回一个属性):
Hql代码 复制代码
  1. String hql= "select c.customerNamefrom Customer c“;   
  2. Query query= session.createQuery(hql);   
  3. Iteratorit = query.list().iterator();   
  4. System.out.println(query.list().size());   
  5. while(it.hasNext()) {   
  6. String c = (String)it.next();   
  7. System.out.println(c);   
  8. }  


例子3(返回多个属性):
如果返回多个属性,那么它们将被装入数组或者集合中
Hql代码 复制代码
  1. String hql= "select c.customerId, c.customerName“+   
  2. “from Customer c“;   
  3. Query query= session.createQuery(hql);   
  4. Iteratorit = query.list().iterator();   
  5. while(it.hasNext()) {   
  6. Object[] obj= (Object[])it.next();   // List list= (List)it.next();   
  7. Long id = (Long)obj[0];          //Long id = (Long)list.get(0);   
  8. String name = (String)obj[1];     //String name = (String)list.get(1);   
  9. System.out.println(id.longValue() + " " + name);   
  10. }  
posted @ 2011-12-03 00:05  chenchun  阅读(2296)  评论(0编辑  收藏  举报