hibernate sqlquery到DB没有映射

时间:2014-11-26 17:12:43

标签: java hibernate

我想测试Hibernate API的SQLQuery,我设法这样做:

    SQLQuery query = session.createSQLQuery("Select * from table;");

    List<Object[]> l = query.list();
    Iterator<Object[]> it = l.iterator();

    while(it.hasNext()) {
        Object[] o = it.next();
        System.out.println(o[0] + " - " + o[1]);
    }

我设法从两列中获取表中的值。但有没有办法获取表格的列号及其名称?

(我知道这很愚蠢,因为Hibernate的主要好处是ORM,我只是在这里试图查询一些未映射的信息)

2 个答案:

答案 0 :(得分:2)

使用以下sql查询获取列名称:

从INFORMATION_SCHEMA.Columns选择COLUMN_NAME,其中TABLE_NAME =&#39; YourTableName&#39;

答案 1 :(得分:0)

由于hibernate未管理实体,您无法询问表元数据的hibernate,因此您可以执行单独的sql select查询(特定于数据库)以获取table元数据。