我想测试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,我只是在这里试图查询一些未映射的信息)
答案 0 :(得分:2)
使用以下sql查询获取列名称:
从INFORMATION_SCHEMA.Columns选择COLUMN_NAME,其中TABLE_NAME =&#39; YourTableName&#39;
答案 1 :(得分:0)
由于hibernate
未管理实体,您无法询问表元数据的hibernate
,因此您可以执行单独的sql select
查询(特定于数据库)以获取table
元数据。