1. 程式人生 > >java lang ClassCastException Ljava lang Object cannot be

java lang ClassCastException Ljava lang Object cannot be

                     

本例錯誤是Hibernate產生

Session session= sessionFatory.getCurrentSession();SQLQuery sqlquery= session.createSQLQuery("select * from FRM_FIELD");List<FrmField> fields = sqlquery.list();
  • 1
  • 2
  • 3

上面的查詢是返回標量值的,Object型別,也就是從resultset中返回的”裸”資料。

如果使用原生sql語句進行query查詢時,hibernate是不會自動把結果包裝成實體的。

下面通過加上 addEntity() 讓原生查詢返回實體物件。

sqlquery.addEntity(FrmField.class);
  • 1

標量和實體查詢對比

這裡寫圖片描述這裡寫圖片描述