美丽涵涵童装店--说我博客名字,给你们打折!
随笔 - 82  文章 - 266  trackbacks - 0
<2007年8月>
2930311234
567891011
12131415161718
19202122232425
2627282930311
2345678


点击这里给杨爱友发消息
美丽涵涵童装店
说我博客名字,给你们打折!

常用链接

留言簿(6)

随笔分类

随笔档案

文章档案

好友的BLOG

搜索

  •  

最新评论

阅读排行榜

评论排行榜

batch fetch inverse cascade outer-join lazy x-to-x load() get() find() 类级别 关联级别
都是
 <many-to-one name="parent" class="po.Parent" fetch="select">
            
<column name="parentId" not-null="true" />
        
</many-to-one>
核心测试代码:
public static void querytest(Session session){
        session.beginTransaction();
        Query query 
= session.createQuery("from Parent");
        List list 
= query.list();
        List
<Parent> parents = list;
        session.close();
        
for(Parent parent:parents){
            Set
<Child> childs = parent.getChilds();
                
for(Child child:childs){
                System.out.println(child.getName());
            }

        }

    }
lazy属性功能测试:
将parent.hbm.xml文件的lazy改为true,启动延迟加载,在执行query.list的时候并没有查询其关联对象,parent对象中并没有包含child数据,所以当调用child.getNmae()时会抛出异常。若lazy="false"或没有此属性,查询parent对象时也将同时执行select child.....,这时能轻松从parent对象获取起关联的childs。
posted on 2007-08-28 09:39 杨爱友 阅读(270) 评论(1)  编辑  收藏 所属分类: java相关技术

FeedBack:
# re: 搞不清的Hibernate检索策略 2007-09-26 08:55 Robin's Java World
session.close();
放到for循环后面就可以用lazy=true了.  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航:
 
美丽涵涵童装店
亲,说我博客名字,给你们打折!