随笔 - 39  文章 - 160  trackbacks - 0
<2007年8月>
2930311234
567891011
12131415161718
19202122232425
2627282930311
2345678


点击这里给杨爱友发消息

常用链接

留言簿(4)

随笔分类

随笔档案

好友的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 杨爱友 阅读(113) 评论(1)  编辑  收藏 所属分类: java相关技术

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

标题  
姓名  
主页
验证码 *  
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2007-08-30 20:51 编辑过
 
 
相关链接:
网站导航: