dao
/*
* 两列以上就封装成Object数组,一列就List 不能追加投影。不然会覆盖掉。最后一次有效
*/
public List testProjection() {
return HibernateSessionFactory.getSession()
.createCriteria(Dept.class)
// .setProjection(Property.forName("dname"))
.setProjection(
Projections.projectionList()
.add(Property.forName("deptno"))
.add(Property.forName("dname"))).list();
}
biz
public List testProjection() {
return dao.testProjection();
}
Test
public static void main(String[] args) {
Transaction tx = null;
try {
tx = HibernateSessionFactory.getSession().beginTransaction();
DeptBiz biz = new DeptBiz();
List result = biz.testProjection();
for (Object o : result) {
Object[] row=(Object[])o;
System.out.println(row[0]+"\t"+row[1]);
}
tx.commit();
} catch (HibernateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (tx != null) {
tx.rollback();
}
}