我有一个 Oracle 表,其中有一个 CLOB。在这个 CLOB 中可以是一个 SQL 语句。这可以随时更改。
我目前正在尝试动态运行这些 SQL 语句并返回列名和数据。这将用于在网页上动态创建表格。
我使用 Hibernate 创建查询并获取数据,如下所示:
List<Object[]> queryResults = null;
SQLQuery q = session.createSQLQuery(sqlText);
queryResults = q.list();
这得到了我需要的数据,但不是列名。我尝试使用 getReturnAliases()
方法,但它会抛出一个错误,指出“java.lang.UnsupportedOperationException:SQL 查询目前不支持返回别名”
所以我的问题是:有没有办法通过 Hibernate 动态获取这些值?
最佳答案
你可以使用:
q.setResultTransformer(AliasToEntityMapResultTransformer.INSTANCE);
List<Map<String,Object>> aliasToValueMapList=query.list();
在 createSQLQuery 中获取列名。
更多详情请引用this问题。
关于java - 从 Hibernate 获取动态 SQL 列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25125480/