HSQL能做到嗎?
在用hibernate做查詢的時(shí)候有時(shí)候可能要用到一點(diǎn)小技巧假設(shè):company和businessarea是父子一對(duì)多的關(guān)系,也就是多個(gè)company對(duì)一個(gè)area
1.從頁(yè)面中傳來(lái)一個(gè)areaID和一個(gè)company,一個(gè)action所做的就是把這個(gè)company存在這個(gè)areaID里面,要怎么做?我想想呀,是不是先用areaDAO來(lái)根據(jù)這個(gè)IDload出一個(gè)area來(lái),然后在用company.setArea()來(lái)搞定?這么作肯定就要讀兩次數(shù)據(jù)庫(kù)了,在性能上肯定是浪費(fèi);哪該怎么作哪?其實(shí)要做的不就是在company表里面存進(jìn)去一組數(shù)據(jù),并且外鍵為這個(gè)areaID,但是真是沒(méi)有什么好的辦法來(lái)做了。
但是在讀取的時(shí)候還是有好辦法的。另一個(gè)例子,傳來(lái)一個(gè)areaID,要讀出這個(gè)ID下面的所有company,就能用一句簡(jiǎn)單的hsql來(lái)完成,而不用先讀出area在讀出list了,就用"from company as com where com.area.id="+id,呵呵,干凈漂亮的完成了
剛學(xué)透明持久的時(shí)候覺(jué)得sql真他媽的垃圾,現(xiàn)在看來(lái)還真是有他必須存在依據(jù)了
posted on 2005-11-23 23:26 啦啦啦 閱讀(242) 評(píng)論(0) 編輯 收藏 所屬分類: 技術(shù)筆記