-
Lazy collection fetching,延迟集合抓取:直到应用程序对集合进行了一次操作时,集合才被抓取(对集合而言这是默认行为)。
-
Proxy fetching,代理抓取:对返回单值的关联而言,当其某个方法被调用,而非对其关键字进行 get 操作时才抓取。
-
Lazy attribute fetching,属性延迟加载:对属性或返回单值的关联而言,当其实例变量被访问的时候进行抓取。需要编译期字节码强化,因此这一方法很少是必要的。
one-to-many:
<set name="emps" inverse="true" fetch="select" lazy="true|extra|false"> <key> <column name="DEPTNO" precision="2" scale="0" /> </key> <one-to-many class="org.han.entity.Emp" /> </set>
lazy=true:延迟加载false:即时加载
extra:需要是才访问数据库
many-to-one:
<many-to-one name="dept" class="org.han.entity.Dept" fetch="select" lazy="proxy|no-proxy|false"> <column name="DEPTNO" precision="2" scale="0" /> </many-to-one>
lazy=false:即时加载
proxy:代理抓取
no-proxy:通过编译期字节码增强操作延迟加载(不常用)
lazy也可以用在类或属性上