加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读