Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何知道Hibernate中本机SQL查询结果的类型?_Java_Sql_Hibernate_Hql - Fatal编程技术网

Java 如何知道Hibernate中本机SQL查询结果的类型?

Java 如何知道Hibernate中本机SQL查询结果的类型?,java,sql,hibernate,hql,Java,Sql,Hibernate,Hql,我在Hibernate中有一个本机SQL查询。我通过以下方式获得查询结果: List l=query.List 我知道列表中的每个元素都对应于结果表的一行。但这些元素的类型是什么 Java告诉我它们属于类型:Object。好的,但是我想要更多。因为我想在Eclipse控制台中打印结果。但对于这一点,我必须知道类型,我必须知道这个列表到底包含什么 以下是我在SL Developer中得到的查询结果表: 我想在Eclipse控制台中打印所有这些数据 在Eclipse中,我使用Query Query=

我在Hibernate中有一个本机SQL查询。我通过以下方式获得查询结果: List l=query.List

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

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

以下是我在SL Developer中得到的查询结果表:

我想在Eclipse控制台中打印所有这些数据

在Eclipse中,我使用Query Query=session.createSQlQuerymy Query; List l=query.List`


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

如果我已经纠正了您的问题,请尝试getClass.getName方法,它将为您提供对象的运行时类。更多信息

列表中的对象是一个对象数组,每列一个

您必须对每行进行迭代,然后使用列数组:

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]);
}

取决于基础表结构。由于System.out.println可以处理对象,您能告诉我们如何打印结果吗?我通过以下命令打印结果:System.out.printlnl.get0;System.out.printlnl.get1;。。。但它会打印一些奇怪的东西,比如java.lang.Object@4B41587D事实是我需要知道l.get0是什么。它对应于结果表的第一行,ok。但是后来呢?如何打印不同列对应的数据?好的,我会这样做,谢谢。我编辑了我的问题。你能检查一下链接看看表的结构吗?事实是如何在Eclipse控制台中打印数据?我知道每列的类型,但我不知道l.get0的类型,因为它是一行。所以它是一个对象,但是如何访问该行的3列呢?