在Hibernate中使用Lazy="false" 的困惑
在项目中使用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这个东西吗?对待这个问题怎么看?