java – JPA本机查询连接返回对象但是dereference抛出类强制转换
发布时间:2020-12-15 04:53:38 所属栏目:Java 来源:网络整理
导读:我正在使用JPQL Native查询来连接表,查询结果存储在List Object []中. public String getJoinJpqlNativeQuery() { String final SQL_JOIN = "SELECT v1.bitbit,v1.numnum,v1.someTime,t1.username,t1.anotherNum FROM MasatosanTest t1 JOIN MasatoView v1 O
我正在使用JPQL Native查询来连接表,查询结果存储在List< Object []>中.
public String getJoinJpqlNativeQuery() { String final SQL_JOIN = "SELECT v1.bitbit,v1.numnum,v1.someTime,t1.username,t1.anotherNum FROM MasatosanTest t1 JOIN MasatoView v1 ON v1.username = t1.username;" System.out.println("get join jpql native query is being called ============================"); EntityManager em = null; List<Object[]> out = null; try { em = EmProvider.getDefaultManager(); Query query = em.createNativeQuery(SQL_JOIN); out = query.getResultList(); System.out.println("return object ==========>" + out); System.out.println(out.get(0)); String one = out.get(0).toString(); //LINE 77 where ClassCastException System.out.println(one); } catch(Exception e) { } finally { if(em != null) { em.close; } } } 问题是 System.out.println(“return object ==========>”out);输出: return object ==========> [[true,2010-12-21 15:32:53.0,masatosan,0.020],[false,koga,0.213]] System.out.println(out.get(0))输出: [true,0.020] 所以我假设我可以指定out.get(0)的返回值,它应该是String: String one = out.get(0).toString(); 但我得到奇怪的ClassCastException. java.lang.ClassCastException: java.util.Vector cannot be cast to [Ljava.lang.Object; at local.test.jaxrs.MasatosanTestResource.getJoinJpqlNativeQuery (MasatosanTestResource.java:77) 那真正发生了什么?甚至Object [] foo = out.get(0);会抛出ClassCastException (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |