如何在eclipse控制台上打印com.sun.proxy类的对象。$ Proxy24?

时间:2015-08-17 09:00:34

标签: java sql eclipse hibernate plsql

我对Oracle数据库有SELECT查询,我希望以两种方式运行:

  • 直接在SQLDeveloper中

  • 在Eclipse中使用Hibernate,作为本机SQL查询。

我想通过将结果与SQDeveloper方式进行比较来确保Hibernate方式有效。 为此,我需要在Eclipse控制台上打印结果:这是我收到错误的时候。

查询如下所示:

Query query = session.createSQLQuery("SELECT ... FROM ... AS b").addScalar("b", ClobType.INSTANCE);

因此,它应该返回[]Clob的列表。

要打印结果,我这样做:

List l = query.list();

for (final Object row : l) {
  final Object[] columns = (Object[]) row;
  // use columns[0],  columns[1] etc
  System.out.println(((Clob) columns[0]).getSubString(0, 20));
}

我在以下行收到错误:final Object[] columns = (Object[]) row;

它说: com.sun.proxy。$ Proxy24无法转换为[Ljava.lang.Object;

确实,当我想知道l.get(0)的课程时:

System.out.println(l.get(0).getClass());

它说:class com.sun.proxy.$Proxy24

但通常情况下,它应为[]Object

所以我无法访问l.get(0)因为我不知道它的类以及如何处理它。

我在其他地方搜索过该问题,但没有找到相关信息。

最后一个问题是我无法将我的结果与SQLDeveloper方法进行比较,以确保Hibernate方式有效。

感谢您的帮助。

0 个答案:

没有答案