回楼上的,下面这条语句的意思是:
from Cat as cat 
inner join fetch cat.mate
left join fetch cat.kittens
加fetch和不加有什么区别

解决方案 »

  1.   

    (1)仅从使用的角度来看,预先抓取和立即检索的效果一样,只不过预先抓取可以减少sql语句的条数。
    (2)预先抓取的关键字是join和fetch,而外连接的关键字仅是join
    (3)预先抓取将初始化代理对象的引用,把对象的数据填充完毕,但是外连接仅仅把对象组装好,而不会初始化对象之间的引用关系(在集合引用时最为突出)。
    检索策略              使用HQL
    预先抓取,立即     预先抓取,保证抓取出来对象的关联
    预先抓取,延迟     预先抓取,但不保证抓取出来对象的关联