iBatisのLazyLoading設定

sqlMapConfig.xml に次のように記述すると iBatisでLazyLoadingが有効になる。
これで、1対多のような副問い合わせが有る場合、そのプロパティにアクセスされたときに初めてSQLが発行される。

<sqlMapConfig>
	<settings
     :
	 lazyLoadingEnabled="true"
	 enhancementEnabled="true"
	 />
     :
     :

LazyLoadingEnabledが false の場合、 getSqlMapClientTemplate 呼び出しから戻ったときには、副問い合わせも完了しているが、trueの場合は副問い合わせはまだ発行されていない。

enhancementEnabled は trueにするとLazyLoadingの効率が上がるようだ。