java - 从 Hibernate 获取动态 SQL 列名

标签 java sql hibernate

我有一个 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/

相关文章:

java - 有没有办法对我的 JPQL 查询尝试的 WHERE 条件进行排序?

java - 是否可以在没有 BTM 的情况下使用 bitronix PoolingDataSource?

java - 将具有相同模式的多个表映射到 hibernate 中的相同 POJO

java - 如何使第二行数字与第一行不同?

java - GWT JSNI调用小程序方法

sql - 连接三个表创建的 View ,一个表与另一个表相似

sql - 计算有序行集中的相等、连续的值

java - 外键作为主键注释

java - 重命名所有风格的类

java - setComponentOrientation 对表单设计器没有影响