2007-1-21 星期日
這兩天,蒸騰了兩個(gè)例子,聽(tīng)說(shuō)一個(gè)叫struts-menu的框架可以實(shí)現(xiàn)基于struts的菜單,照著網(wǎng)上的例子,自己擺弄了一個(gè),哈哈,這東西好,可以做出不同樣式的菜單,然后又用struts\struts-menu\spring\hibernate\sqlserver2000實(shí)現(xiàn)一個(gè)從數(shù)據(jù)庫(kù)讀取的動(dòng)態(tài)樹(shù)形菜單,好家伙這可折騰死我了,代碼早早的一口氣寫(xiě)完了,剩下一堆錯(cuò)誤,有些甚至莫名其妙的,大部分時(shí)間都在這上面了,這周在學(xué)junit,看來(lái)很重要,要養(yǎng)成測(cè)試的好習(xí)慣,按照模塊來(lái)測(cè)試,不能一個(gè)程序?qū)懞昧?,再這找那找錯(cuò),太浪費(fèi)時(shí)間了,這次就是,上來(lái)就給我一個(gè)下馬威,505錯(cuò)誤(網(wǎng)絡(luò)服務(wù)器錯(cuò)誤)actionServlet不可用,檢查struts-config.xml和applicationContext.xml的配置沒(méi)有見(jiàn)檢查出來(lái)不對(duì),想必是spring或者h(yuǎn)ibernate的錯(cuò)誤了,在struts-config.xml解除跟spring的關(guān)聯(lián),直接在action中調(diào)用,spring的dao方法,這下可好,哈哈,出來(lái)一堆錯(cuò)誤,都是不小心的這錯(cuò)那錯(cuò),一通改之后,最后卡在
hibernate java.lang.ClassCastException: [Ljava.lang.Object
上,是hibernate報(bào)的錯(cuò)誤,發(fā)現(xiàn)在查詢后得到的List不知道里面是什么類型,不能強(qiáng)制轉(zhuǎn)換成我的持久類,不能轉(zhuǎn)換成map,那是什么呢,因?yàn)槲业牟樵冋Z(yǔ)句是復(fù)合查詢,最后發(fā)現(xiàn)List是Object[],是個(gè)Object類型的數(shù)組,我見(jiàn)過(guò)List里面是Map,持久類,Object[]了,Map是在spring里面通過(guò)spring的jdbcTemplete返回的List,里面是Map集合,Map的鍵是數(shù)據(jù)庫(kù)表的字段名,后兩個(gè)是在hibernate里,一個(gè)表查詢可能就是返回持久類類型,多個(gè)表查詢就是Object[]類型了?但Object[]里面是什么,我這里發(fā)現(xiàn)里面是每條記錄的值,在網(wǎng)上查到,還有可能是多個(gè)持久類(多表查詢,這個(gè)說(shuō)法我沒(méi)試過(guò)呢),這樣把List里取出的轉(zhuǎn)換成Object[],這個(gè)錯(cuò)誤算是通過(guò)了,還有個(gè)hibernate java.lang.ClassCastException: java.lang.Integer
posted on 2008-08-26 22:06 豬 閱讀(93) 評(píng)論(0) 編輯 收藏