java - 为什么打印 [[Ljava.lang.Object;@12f29d9, [Ljava.lang.Object;@1648f32]

标签 java sql hibernate list object

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

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

最佳答案

覆盖toString()方法在你的 Estados返回漂亮String您想看到的,如果您尝试直接或间接打印数组,您需要使用 Arrays.toString()还有

关于java - 为什么打印 [[Ljava.lang.Object;@12f29d9, [Ljava.lang.Object;@1648f32],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22673633/

相关文章:

Java 8 使用流来区分具有重复字段值的对象

java - 在 retrofit2 中使用带有对象数组的 json

Mysql查找结果不存在于jointable中

如果父 ID 存在,则 SQL 返回父名称,否则在选择查询中返回当前名称

java - 如何使用 JPA 创建 UNIQUE 列?

java - 在 Java 中覆盖访问器

java - Spring测试-使用真实的bean来创建测试bean

php - 计算用户的排名

spring - 根据日期列更新数据库记录

java - 如何调用不带参数的泛型方法?