posts - 29, comments - 0, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          以前用得的是hibernate3.0.5的版本~~~~而且關(guān)于queryfactory 的配置如下:

          <prop key="hibernate.query.factory_class">org.hibernate.hql.classic.ClassicQueryTranslatorFactory</prop>

          因?yàn)閿?shù)據(jù)量超出了10萬條~~~~結(jié)果出現(xiàn)了 heap 溢出問題,想想了,也確實(shí)該溢出了,呵呵~~~

          這種查詢方式,是將所有的查詢出來的結(jié)果以對象的形式進(jìn)行緩存,如此巨大的數(shù)據(jù),不把她給稱爆炸才怪呢:)

          查查hibernate 的文檔,有關(guān)于大數(shù)據(jù)量的處理~~~,流程大抵如下:

          Transaction tx = session.beginTransaction();

                  String hqlDelete = "delete VbufferGis ";
                  int deletedEntities = session.createQuery( hqlDelete ).executeUpdate();
                  tx.commit();
                  session.close();

          測試運(yùn)行出現(xiàn)如下異常:query must begin with SELECT or FROM ,文檔是清清楚楚是這樣寫的嘛,怎么會出現(xiàn)這樣的問題呢,是不是和我剛開始的時(shí)候一樣覺得挺納悶的,呵呵~~~原來是配置的問題,將上面的配置改為:

          <prop key="hibernate.query.factory_class">org.hibernate.hql.ast.ASTQueryTranslatorFactory</prop>

          本以為這下是萬事大吉了,呵呵~~~~問題有出來了,define class not foundexception :antlr.antlrexception

          在網(wǎng)上授了一把,原來hibernate用她來解析 hql ,而我用myEclipse的時(shí)候,有沒有導(dǎo)入那個包,自然有問題了,

          于是將那個包導(dǎo)入,測試刪除運(yùn)行,一切ok!這下是真的萬事大吉了嗎?還沒有,這也難怪我的多磨難了,呵呵

          原來在進(jìn)行待漢字的參數(shù)查詢的時(shí)候出現(xiàn)了亂碼現(xiàn)象,感覺挺奇怪的,百思不得其解,幸好有網(wǎng)絡(luò)這個好東西,google了一下,^_^ 原來值需要換一個版本就ok了,呵呵~~~于是在取sourceforge上面取下了 hibernate-3.1rc2.zip,這下子就ok了!一切運(yùn)行正常?。?!雖然問題是解決了,原理缺不甚明白,有待學(xué)習(xí)。。。。

          主站蜘蛛池模板: 微山县| 上高县| 宜阳县| 屏山县| 团风县| 老河口市| 和田市| 安多县| 六安市| 双柏县| 怀宁县| 监利县| 肇州县| 洞口县| 古丈县| 筠连县| 崇左市| 平泉县| 四平市| 金坛市| 彰武县| 绥芬河市| 江山市| 武夷山市| 安化县| 磐石市| 西青区| 麦盖提县| 乌兰察布市| 上林县| 扎赉特旗| 固原市| 紫阳县| 鄂州市| 女性| 贵阳市| 武平县| 陆川县| 耿马| 北安市| 菏泽市|