0
我正在使用EclipseLink實現的JPA。我需要做一個關於我的MRAEmpleado實體的原生SQL查詢。使用本機SQL查詢投射錯誤JPA Eclipse Link
這是我的代碼:
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)
我試圖與所有鑄造posibilities,但投誤差不dissapear 。
我在哪裏可以定義實體?我不太瞭解,我已經完成了System.out.println(q.getResultList()。get(0).getClass());和這個打印類[Ljava.lang.Object;不應該是MRAProyecto? – user3118887
Query q = em.createNativeQuery(「Select * From MRAProyecto ORDER BY PROY_ID」);使用Query q = em.createNativeQuery(「Select * From MRAProyecto ORDER BY PROY_ID」,MRAProyecto);閱讀http://www.oracle.com/technetwork/articles/vasiliev-jpql-087123.html中的利用本機SQL查詢部分。但基本上你應該使用第二個參數來定義完全合格的實體類 – Koitoer
這是不可能的,編譯器給我一個錯誤。我添加一個快照:http://imagizer.imageshack.us/v2/800x600q90/203/zbcj.jpg – user3118887