我使用JPA是第一次和我得到這個錯誤,當我嘗試查詢Postgres數據庫:JPA:PGobject裏無法施展
Exception in thread "main" java.lang.ClassCastException: org.postgresql.util.PGobject cannot be cast to [Ljava.lang.Object;
的代碼是:
List<Results> r = em.createNativeQuery("SELECT r FROM RESULTS r\n"
+ "INNER JOIN SESSION S ON s.SESSION_ID = r.SESSION_ID WHERE s.SESSION_ID = '" + sessionId + "'").getResultList();
我已經嘗試過使用Object [],但錯誤還是一樣
List<Object[]> r = em.createNativeQuery("SELECT r FROM RESULTS r\n"
+ "INNER JOIN SESSION S ON s.SESSION_ID = r.SESSION_ID WHERE s.SESSION_ID = '" + sessionId + "'").getResultList();
有人知道什麼是錯?
感謝您的回答。是的,我使用的是createQuery,但這種方法給了我sintax錯誤。所以我開始用SQL代碼來使用createNativeQuery。上面的代碼是SQL和它的權利,因爲它在postgres控制檯中工作。 – hemartins 2013-02-18 21:38:34
如果您嘗試返回列表會發生什麼情況? –
Beanz
2013-02-18 21:44:17
對PGObject進行快速查找時指出PGobject是用於描述未知類型的類未知類型是JDBC標準未知的任何類型。如果它不起作用,我會簡化sql語句......以查看它是否可以用一列或兩列進行映射。 – Beanz 2013-02-18 21:45:12