2011-08-20 88 views
0

我有一個JPA實體類(許多中的一個),我可以在其上運行JPQL查詢,返回該實體沒有任何問題。但是,當我試圖運行任何命名的本機查詢來選擇基礎表上的所有字段時,而不是映射到實體並返回該實體類型的列表時,我得到包含結果集的對象數組的java.util.Vector。也就是說,數據正在返回,但未映射到實體。 Java的虛假泛型使得情況變得更糟,因爲錯誤在EL解析器中表現爲NumberFormatExceptionEclipseLink拒絕將PostgreSQL上的本機查詢映射到實體

我的查詢調用代碼:

return em.createNamedQuery("ClinicDoctor.findUnchangedByClinicSystemId", 
          ClinicDoctor.class) 
    .setParameter(1, clinicSystemId) 
    .getResultList(); 

當我切換的EclipseLink記錄到罰款和運行JPQL查詢,選擇完全匹配的列名,我選擇在本地查詢的列名。

我錯過了什麼嗎?有沒有一些燃燒的箍環我應該跳過來讓地圖起作用?

回答

0

難道你不知道嗎?在問這個問題之後,我發現我只需在我的orm.xml中的<named-native-query/>標記上設置result-class屬性,並且它工作正常。