我正在處理spring應用程序。我在Spring框架中使用HibernateDaoSupport類連接到數據庫。如何修復java.lang.ClassCastException:java.util.ArrayList同時從數據庫獲取值
下面是我的Java代碼:
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
//imports..
public class MyTableDAOHibernateImpl extends HibernateDaoSupport implements MyTableDAO{
public String getDBValues() throws DataLayerException {
String value = "";
Map<String, String> map = null;
try {
map = (HashMap<String,String>)getHibernateTemplate()
.find("select mt.fname,mt.lname from MyTable as mt where aid= '29983L"' ");
System.out.println("MAP elements : " + map);
if (map != null && !map.isEmpty()) {
Iterator it = map.entrySet().iterator();
while (it.hasNext()) {
Map.Entry pair = (Map.Entry) it.next();
value = (String) pair.getValue();
System.out.println("name" + value);
}
}
} catch (final DataAccessException dae) {
throw new DataLayerException(dae);
}
return value;
}
上面的代碼拋出以下異常:
Encountered serious error building result : java.lang.ClassCastException: java.util.ArrayListjava.lang.ClassCastException: java.util.ArrayList
請建議,在我的代碼getHibernateTemplate()將返回每Map<String,String>
。至於我的要求我需要使用HashMap將數據庫中返回的值存儲在鍵值對中。無法追蹤ClassCastException
。請指教。
地圖是一個列表...轉換此列表提供給你想要的地圖。 – Snickers3192
@ Snickers3192 - 請您詳細說明一下。你認爲地圖是什麼意思?我創建的地圖對象的類型是java.util.Map。 –
user222
我該如何詳細說明,你所說的Map類型的映射實際上是一個列表