hql里可以new对象..
?向老师请教的...? 原来hql可以new对象,? 老师的代码
?
String hql = " select new com.domain.MyUser(name,passwd) from Users"; Query query = session.createQuery(hql); //默认查询出来的list里存放的是一个Object数组,但是在这里list里存放的不再是默认的Object数组了,而是MyUser对象了 List<MyUser> myUsers = query.list(); for(MyUser myUser : myUsers){ String name = myUser.getUsername(); String passwd = myUser.getPassword(); System.out.println(name + " : " + passwd); }
?
?
?
?
?
1 楼 numen_wlm 2010-01-26 如果那个Class有N多个属性的话,那么它的构造函数得有很多参数了。。写起来看着挺长的。 2 楼 黑暗浪子 2010-01-26 hiberniate之所以提供这样的功能,其目的就是让你可以在多表查询时候,在hql里新建你的dto对象,这样方便你在前台界面显示查询数据结果集。毕竟在很多情况下,jsp界面显示数据的各个字段不会是同一张数据库表中的字段。而且个人认为如果有N个属性,可以将属性设置为每个字段所标的model对象。比如A字段是C表的字段,B字段是D表的字段。