Java 如何知道Hibernate中本机SQL查询结果的类型?
我在Hibernate中有一个本机SQL查询。我通过以下方式获得查询结果: List l=query.List 我知道列表中的每个元素都对应于结果表的一行。但这些元素的类型是什么 Java告诉我它们属于类型:Object。好的,但是我想要更多。因为我想在Eclipse控制台中打印结果。但对于这一点,我必须知道类型,我必须知道这个列表到底包含什么 以下是我在SL Developer中得到的查询结果表: 我想在Eclipse控制台中打印所有这些数据 在Eclipse中,我使用Query Query=session.createSQlQuerymy Query; List l=query.List`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=
有关信息,这里是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列呢?