畢業(yè)設(shè)計(jì)做到現(xiàn)在,中間改動(dòng)特別大;起初探索著邊學(xué)邊用Hibernate,把數(shù)據(jù)庫表全部映射好了開始寫DAO時(shí)發(fā)現(xiàn)Hibernate并沒有想象中的那么吸引人。首先是效率上,Hibernate3似乎沒有deleteById類似的方法,導(dǎo)致刪除一個(gè)持久化對(duì)象要執(zhí)行兩次SQL語句:檢索對(duì)象,再刪除對(duì)象(當(dāng)然前提是從WEB層得到對(duì)象的主鍵);其實(shí)就是,對(duì)于這類功能強(qiáng)大的OR框架,以我和溫さん的目前的能力,是不可能駕馭的,而何況這個(gè)畢業(yè)設(shè)計(jì)也估且算個(gè)正式項(xiàng)目,時(shí)間又很緊。最終決定換用iBatis。這玩意確實(shí)容易上手,直接寫SQL,但缺點(diǎn)也顯而易見:沒有級(jí)聯(lián),沒有持久層對(duì)象(即PO)的概念,有N+1查詢的效率問題,比如客戶表有訂單外鍵,表現(xiàn)到PO就是客戶對(duì)象里有訂單對(duì)象的屬性,做這種情況下的查詢時(shí)iBatis就沒Hibernate方便。目前我也只有這些很膚淺的看法,但似乎Hibernate在大的系統(tǒng)面前確有更好的性能表現(xiàn),有空了再來好好學(xué)一下,畢竟它是OR框架的典范。
只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。 | ||
![]() |
||
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
|
||