简单的问题,但我没有看到我的推理错误。以选定成员而不是整个行/实体作为结果的命名查询。
现在我想用方便的元组方法访问成员字段。
q = em.createNamedQuery("test.findvar");
List<Tuple> tuples = q.getResultList();
for (Tuple t : tuples)
System.out.println(t.get(0) + " " + t.get(1));
不幸的是它抛出了我:
Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to javax.persistence.Tuple
一切正常:
q = em.createNamedQuery("test.findvar");
List<Object[]> objs = q.getResultList();
for (Object[] obj : objs)
System.out.println(obj[0] + " " + obj[1]);
我的第一个解决方案有什么问题?