我有使用此方法的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()