稻草誓言 2012-09-05
String hql="select u.name,u.password from User u";
Query query=session.createQuery(hql);
Iterator iter=query.iterator();
while(iter.next()){
Object obj[]=(Object[]iter.next());
System.out.println(obj[0]+obj[1]);
}//需要逐一去访问结果集,非常不方便
Hibernate的HQL语言提供了 动态构造实例对象的方法
String hql="select new User(u.name,u.password) from User u";
Query query=session.createQuery(hql);
Iterator iter=query.iterator();
while(iter.next()){
User u=(User)it.next();
System.out.println(u.getName()+u.getPassword());
}注意:对应实体对象中使用指定属性值的构造函数一定要存在
Hibernate配备了一种非常强大的查询语言,这种语言看上去很像SQL。但是不要被语法结构 上的相似所迷惑,HQL是非常有意识的被设计为完全面向对象的查询,它可以理解如继承、多态 和关联之类的概念。