Hibernate HQL动态构造实例对象

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());
}

注意:对应实体对象中使用指定属性值的构造函数一定要存在

相关推荐