在Hibernate中使用Lazy="false" 的困惑

hulumao發表於2009-02-02
在專案中使用hibernate做為持久層,Lazy="false"這個東西呢既好又不好。好的是:我們不用在寫過多的DTO或VO之類的JavaBean,實現起來也比較方便。直接物件點屬性(object.property1.property2....)就OK了。不好的是:有一個Lazy="false"它就會多執行一條甚至多全SQL語句。隨著資料表的逐漸增加,lazy這個東西越來越多,但又控制不住使用它。搞得系統反應有點慢,更危險的是有關聯的資料錯一個,程式就會報找不到物件。唉!我知道hibernate可以配置抓取的深度(我設的是4),但還是有點慢。


<many-to-one name="purchaseOrder" class="hk.com.ablegroup.erp.domain.PurchaseOrder" fetch="select">
<column name="PURCHASE_ORDER_ID" lazy="false"/>
</many-to-one>


不知道各位在專案中有使用lazy這個東西嗎?對待這個問題怎麼看?

相關文章