java - 如何知道 Hibernate 中原生 SQL 查询结果的类型?

标签 java sql hibernate hql

我在 Hibernate 中有一个原生 SQL 查询。我通过以下方式获得查询结果: List l = query.list()

我知道列表的每个元素对应结果表的一行。但是这些元素的类型是什么?

Java 告诉我它们的类型是:对象。好的,但我想要更多。因为我想在Eclipse控制台打印结果。但是为此,我必须知道类型,我必须知道这个列表到底包含什么。

这是我在 SL Developer 中获得的查询结果表:

Result table as shown in SQL Developer

并且知道,我想在 Eclipse 控制台中打印所有这些数据

在 Eclipse 中,我使用 Query query = session.createSQlQuery("my query"); 列表 l = query.list();`

有关信息,这里是 SQL 查询代码:my query

最佳答案

列表中的 Object 是一组 Object(每列一个)。

您必须迭代(针对每一行)然后使用列数组:

final List<Object> l = query.list();
for (final Object row : l) {
    final Object[] columns = (Object[]) row;
    // use columns[0],  columns[1] etc
    System.out.println(columns[0]);
}

关于java - 如何知道 Hibernate 中原生 SQL 查询结果的类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31703868/

相关文章:

Mysql 加入问题,我想要这个结果

java - 如何强制 hibernate 调用 setter 方法来填充类字段?

java - 输入不正确的字符时无法清除文本字段

java - 帮助将字节的字符串数组类型转换为实际字节

java - 如何使用 Spring 3.0 表达式语言参数化 @Scheduled(fixedDelay)?

java - 查询 Hibernate 缓存而不是数据库

java - Order by 子句在 hibernate 中不起作用

java - 如何在java中迭代Set并向其中添加元素?

mysql - 我如何让 datediff 在 sql 上与 min() max() 一起工作?

sql - 无法对已关闭的数据集和表中输入的数据不正确执行此操作