hql查询语句
1.hql使用对象的方式封装结果数据
@Test
public void getOrdersList(){
String hql = "select new com.demo.hibernate.one2many.Order(o.id, o.orderId, o.createTime) from Order as o";
Query<Order> query = session.createQuery(hql, Order.class);
List<Order> list = query.getResultList();
for(Order o : list){
System.out.println(o.getId() + ";;" + o.getOrderId() + ";;");
}
}
2.多列数据的查询
@Test
public void getObjectArray(){
String hql = "select c.name, c.phoneNum, o.orderId, o.createTime from Order o join o.customer c";
Query<Object[]> query = session.createQuery(hql, Object[].class);
List<Object[]> list = query.getResultList();
for(Object[] o : list){
System.out.println(o[0] + ";;" + o[1] + ";;");
}
}
3.函数查询
@Test
public void functionQuery(){
String hql = "select max(id), count(*) from Order";
Query<Object[]> query = session.createQuery(hql, Object[].class);
Object[] obj = query.getSingleResult();
System.out.println(obj[0] + "::" + obj[1] + "::");
}

浙公网安备 33010602011771号