Query w=em.createQuery("SELECT ar.authorId.firstName,
count(ar) FROM Article ar
WHERE ar.categoryId.categoryText=:
categoryText GROUP BY ar.authorId");
w.setParameter("categoryText", categoryText);
List list1=w.getResultList();
System.out.println(list1.toString());
什么是错的。我得到[[Ljava.lang.Object;@60a19573, [Ljava.lang.Object;@44a085e5]
我想打印查询,例如“name:”+ firtname +“Articles:”+ count(ar)
答案 0 :(得分:4)
在该特定类型toString()
SomeType
答案 1 :(得分:2)
您在查询中获得的内容是List<Object[]>
,根据规范预计会出现ar.authorId.firstName
。数组中的第一个元素是字符串Long
,第二个元素是count(ar)
代表String.format
for(Object[] objs : list1) {
System.out.println(String.format("name %s articles %s",objs[0],objs[1]);
}
应该适合您:
{{1}}
答案 2 :(得分:0)
for(Object objs : list1) {
System.out.println(String.valueOf(objs));
}
valueOf是一个String方法,它有助于将原始数据类型转换为String。