2013-07-09 26 views
2

回到我使用Hibernate + JSF + Spring3如何獲得許多對象類型在Hibernate中

在查詢中,我需要很多的對象類型作爲結果返回。

public ArrayList<ArrayList<Object>> getReportHoursPerUser(){ 
    return (ArrayList<ArrayList<Object>>)getHibernateTemplate(). 
      find(" SELECT u , SUM(r.hours) " + 
       " FROM Report r, User u " + 
       " WHERE r.responsible.idUser = u.idUser "); 
} 

但是存儲對象的數組的數組的結果不是一個優雅的想法.. 此外,我得到這個異常:

Caused by: java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to java.util.ArrayList 

當我做這在我的託管bean:

reports = reportService.getReportHoursPerUser(); 
for (int i = 0 ; i <reports.size() ; i++){ 
     User u = (User) reports.get(i).get(0); 
} 

是否有任何預定義的方法來做到這一點?

謝謝!對於查詢

find(" SELECT u , SUM(r.hours) FROM Report r, User u " + 
      " WHERE r.responsible.idUser = u.idUser ") 

+0

查看更多常見問題:http://stackoverflow.com/questions/18828372/return-several-fields-with-jparepository – gavenkoa

回答

1

常見JPA返回類型爲ArrayList<Object[]>Object[0]是用戶,Object[1]必須是相關的數據類型幾個小時。

相關問題