我有使用此方法的HIBERNATE DAOImpl:

      public List<Estados> listaEstados() throws DAOException {
    List<Estados> lista = getHibernateTemplate().find("SELECT e.id as id,e.nombre as nombre FROM Estados e");
      return lista;
}


并且在运行时,无需显示状态的ID和状态名称,而是显示以下内容:

[[Ljava.lang.Object;@acacc3, [Ljava.lang.Object;@825032]


并应绘制如下内容:

[[1,"Morelos"],[2,"Mexico"]


为什么?我究竟做错了什么?

问题是当我检查2个或更多字段时,如果只获得状态名称运行良好。

我和Junit做过测试。在显示行之前:

[[Ljava.lang.Object;@acacc3, [Ljava.lang.Object;@825032]


如果它显示了我的结果

8585 [main] DEBUG org.hibernate.loader.Loader  - result row:
8585 [main] DEBUG org.hibernate.type.IntegerType  - returning '1' as column: col_0_0_
8585 [main] DEBUG org.hibernate.type.StringType  - returning 'Morelos' as column: col_1_0_
8585 [main] DEBUG org.hibernate.loader.Loader  - result set row: 1
8585 [main] DEBUG org.hibernate.loader.Loader  - result row:
8585 [main] DEBUG org.hibernate.type.IntegerType  - returning '2' as column: col_0_0_
8585 [main] DEBUG org.hibernate.type.StringType  - returning 'Mexico' as column: col_1_0_
8585 [main] DEBUG org.hibernate.loader.Loader  - done processing result set (2 rows)


有人知道我在做什么错,因为正确的结果会丢失吗?在哪里输了?或者如果我必须将其转换为String对象或List。和以前一样,代码是什么?

请帮助。

对不起,我的英语不好。 :)

最佳答案

覆盖toString()中的Estados方法以返回要查看的漂亮String,如果您尝试直接或间接打印数组,则也要使用Arrays.toString()

10-07 19:04
查看更多