本站首页    管理页面    写新日志    退出


«August 2025»
12
3456789
10111213141516
17181920212223
24252627282930
31


公告
 本博客在此声明所有文章均为转摘,只做资料收集使用。

我的分类(专题)

日志更新

最新评论

留言板

链接

Blog信息
blog名称:
日志总数:1304
评论数量:2242
留言数量:5
访问次数:7591630
建立时间:2006年5月29日




[Hibernate]Hibernate的检索策略
软件技术

lhwork 发表于 2006/12/22 16:29:26

对迫切左外连接检索的限制:在一个select语句中只允许包含一个一对多关联或多对多关联在一个select语句中可以允许包含多个一对一关联或多对一关联Hibernate的配置文件中的hibernate_max_fetch_depth属性来控制外连接的深度hibernate_max_fetch_depth属性的合理取值取决于数据库系统的表连接性能及表的大小,如果数据库的记录少,并且数据库系统具有良好的表连接性能,可以把该值设置的高点通常设为4<set>元素来配置一对多或多对多的关联关系,<set>元素有lazy和outer-join的属性立即检索 如果一对的很多的情况下使用了立即检索的策略就会浪费大量的内存空间,所以一对多的关联不可随意使用立即检索策略延迟检索 应该优先考虑延迟检索批量延迟检索和批量立即检索 设定batch_size属性.在sql语句中会使用or进行批量初始化,batch_size属性不宜设置太大,如果设置太大就会使延迟加载失去了意义迫切左外连接检索 outer-join设置为true 。find方法会忽略映射文件中的迫切左外连接策略。lazy  可选值:true或false默认值:false用法:如果为true,表示使用延迟检索策略,在<class>和<set>中有这个属性outer-join可选值:auto,true,false默认值:在<many-to-one><one-to-one>中是auto,在<set>元素中为false用法:如果为true,表示使用迫切左外连接策略,在<many-to-one><one-to-one><set>元素中包含这个属性batch-size可选值:整数值 默认值:1用法:设定批量检索的数量,仅适用于关联级别的立即检索和延迟检索,在<class><set>元素中包含此属性 Hibernate还允许在应用程序中以编程方式显示设定检索策略,程序代码中的检索策略会覆盖映射文件中的检索策略检索策略的作用域 可选的检索策略 默认的检索策略 受影响的Session的检索方法 类级别 立即检索 延迟检索 立即检索 Load() 关联级别 立即检索 延迟检索 左外连接检索 多对一或一对一为外连接检索 Load(),get(),find() 一对多或多对多为立即检索  


阅读全文(2364) | 回复(0) | 编辑 | 精华
 



发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.320 second(s), page refreshed 144778642 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号