使用本机SQL查询JPA Eclipse Link进行转换错误

时间:2014-01-21 19:43:58

标签: sql jpa

我正在使用EclipseLink实现的JPA。我需要对我的MRAEmpleado实体进行原生SQL查询。

这是我的代码:

    private List<MRAProyecto> ordenarProyectos (){
      Query q = em.createNativeQuery("Select *From MRAProyecto ORDER BY PROY_ID");
       return (List<MRAProyecto>)q.getResultList();
    }
        List<MRAProyecto> consultaProyectos = startup.ordenarProyectos();
        System.out.println("Lista de proyectos ordenados por su identificador");
         for (MRAProyecto proyecto:(List<MRAProyecto>)consultaProyectos){

             System.out.println(proyecto.toString());
        }

但是当我执行我的应用程序时会启动此错误:

Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to entity.MRAProyecto
at Startup.main(Startup.java:39)

我已尝试过所有施法能力,但施法错误并未消失。

1 个答案:

答案 0 :(得分:0)

使用以下调用进行解析。

查询createNativeQuery(java.lang.String sqlString,java.lang.Class resultClass)           创建Query实例以执行本机SQL查询。

http://docs.oracle.com/javaee/6/api/javax/persistence/EntityManager.html#createNativeQuery%28java.lang.String,%20java.lang.Class%29

您需要在resultSetClass中定义要检索的权利