关于Hibernate的问题,lazy=true和proxy
来源:互联网 发布:mac怎么取消开机启动 编辑:程序博客网 时间:2024/04/29 16:23
lazy="true"是用来指定一个collection延迟载入的,和proxy没关系。Top
2 楼lyo(一个人的路上)回复于 2003-11-29 13:57:58 得分 0
那就是说只要在配置文件中写上 lazy=true就可以了,在自己的程序中不用特殊编写。
但是proxy是怎麽回事?它是做什莫用的?困惑我很久了 :(Top
3 楼miwoo(我的自行车被偷了:()回复于 2003-11-29 19:16:04 得分 50
>那就是说只要在配置文件中写上 lazy=true就可以了,在自己的程序中不用特殊编写。<
对,但只有collection有lazy这个属性,你可以看看dtd。
>但是proxy是怎麽回事?它是做什莫用的?困惑我很久了 :(<
比如说User和Group是many-to-one的关系,User中有一个类型为Group的属性group,
若你想要载入一个User时,它的Group属性group要延迟载入,
A 那你就必须为Group类定义proxy,这个proxy一般可以定义为两种
1 Group类本身
2 一个被Group类实现的,且包含了Group类的所有业务方法的接口,这种做法可以克服第一种做法的一些缺点,但会比较麻烦,因为要定义一个接口嘛。
B 映射文件中这个<many-to-one>的outer-join要定义为
1 "false"(如果你在hibernate.properties或hibernate.cfg.xml文件中定义了hibernate.use_outer_join true)
2 "auto"(默认的)或"false"(hibernate.use_outer_join false),(我没有试过当hibernate.use_outer_join false时,<many-to-one>的outer-join定义为"true",会不会延迟载入和还是会用outer join一并取出关联对象(在这里就是group对象),你可以试试)
hibernate中proxy是用cglib生成的动态代理,你可以看看相应的原码。再仔细看看文档加上实践,应该不难弄懂的:)
Top
4 楼miwoo(我的自行车被偷了:()回复于 2003-11-29 19:24:06 得分 0
AB两点都要才能达到lazy效果Top
5 楼lyo(一个人的路上)回复于 2003-11-30 11:50:58 得分 0
多谢你精彩的讲解!
- 关于Hibernate的问题,lazy=true和proxy
- hibernate 中的 lazy="proxy" 和 lazy="no-proxy" 的区别
- hibernate 中的 lazy="proxy" 和 lazy="no-proxy" 的区别
- hibernate 中的 lazy="proxy" 和 lazy="no-proxy" 的区别
- 关于hibernate+spring使用lazy=true报错,配置opensessioninview 顺序问题
- lazy=false和lazy=true的区别
- hibernate中的lazy的proxy no-proxy
- 解释一个关于Hibernate lazy的问题
- 解释一个关于Hibernate lazy的问题
- hibernate懒加载 lazy= true
- Hibernate的lazy问题
- Hibernate的lazy问题
- 关于hibernate的invest="true"和cascade
- 关于延迟加载(lazy)和强制加载(Hibernate.initialize(Object proxy) )
- 关于延迟加载(lazy)和强制加载(Hibernate.initialize(Object proxy) ) 等
- 关于延迟加载(lazy)和强制加载(Hibernate.initialize(Object proxy) )
- 关于延迟加载(lazy)和强制加载(Hibernate.initialize(Object proxy) )
- 关于延迟加载(lazy)和强制加载(Hibernate.initialize(Object proxy) )
- 应用程序-特定 权限设置未将 COM 服务器应用程序(CLSID 为 {0C0A3666-30C9-11D0-8F20-00805F2CD064}权限错误解决办法
- Flex 与 servlet 通信 【xml】
- Microsoft VBScript 运行时错误 (0x800A0046) 没有权限: 'GetObject' /localstart.asp, 第 40 行 错误解决办法
- Hibernate中的延迟加载
- Hibernate reference 3.2.0 ga 正式版中文参考手册
- 关于Hibernate的问题,lazy=true和proxy
- 别说我爱的不是时候
- Flex 与 java 通讯 【转】
- 如何在加载模块时向模块传递参数值
- 3.8如何编程来改变视图的大小和位置?
- push ebp
- 删除VS中最近的项目
- 路过
- 做人做事