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] + "::");
}

posted @ 2017-06-20 11:21  車輪の唄  阅读(16)  评论(0)    收藏  举报  来源