我正在使用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)
我已尝试过所有施法能力,但施法错误并未消失。
答案 0 :(得分:0)
使用以下调用进行解析。
查询createNativeQuery(java.lang.String sqlString,java.lang.Class resultClass) 创建Query实例以执行本机SQL查询。
您需要在resultSetClass中定义要检索的权利