如何在hql上获取列名(比如从结果集中获取元数据)

时间:2013-09-16 15:59:30

标签: hibernate metadata hql

我想将列的名称输入HQL查询结果(具有未知的查询内容和类“学生”属性)

>     Query query = session.createQuery("from Student s ");
>     ScrollableResults list = query.scroll(ScrollMode.FORWARD_ONLY);
>     
>       while (list.next()) {
>       
>           for(Object obj : list.get()){
>                   System.out.println(">>>>>>>>>>>>: "+ obj);
>                   }
>                    
>           }
像这样

 Statement stmt = conn.createStatement();
    ResultSet resultSet = stmt.executeQuery("SELECT * FROM student");
      ResultSetMetaData md = resultSet.getMetaData();

            for (int i = 1; i <= md.getColumnCount(); i++)
                 System.out.print(md.getColumnLabel(i) + " ");

1 个答案:

答案 0 :(得分:0)

您可以致电query.list()。它将返回一个地图列表,每行一个地图。每个映射都会将列名映射到与给定行的列值对应的对象。

读取第一个地图,其键集将包含查询结果中字段的名称。

相关问题