zhangtao2000 2008-11-05 11:00
浏览 348
已采纳

设置hibernate.max_fetch_depth无效?

各位好, 数据结构如下:
Class A{
B b;(ManyToOne)
}

Clss B{
C c;(ManyToOne)
}

我设置了hibernate.max_fetch_depth=1,意思是想取A时只取到B这一级,不取C
我的理解正确吗

  • 写回答

2条回答 默认 最新

  • 「已注销」 2008-11-07 07:56
    关注

    [code="java"]hibernate.max_fetch_depth为单向关联(一对一, 多对一)的外连接抓取(outer join fetch)树设置最大深度. 值为0意味着将关闭默认的外连接抓取.

    取值 建议在0到3之间取值 [/code]
    这是hibernate文档的原话。

    至于外连接的讨论
    [code="java"]如果你的数据库支持ANSI, Oracle或Sybase风格的外连接, 外连接抓取通常能通过限制往返数据库次数 (更多的工作交由数据库自己来完成)来提高效率. 外连接抓取允许在单个SELECTSQL语句中, 通过many-to-one, one-to-many, many-to-many和one-to-one关联获取连接对象的整个对象图.

    将hibernate.max_fetch_depth设为0能在全局 范围内禁止外连接抓取. 设为1或更高值能启用one-to-one和many-to-oneouter关联的外连接抓取, 它们通过 fetch="join"来映射[/code]

    更加信息的内容参看hibernate文档的 抓取策略部分

    回到你的问题,就是说那个参数是影响设置fetch="join"的元素的连接深度的。

    至于fetch的参数和策略,可以参考这个帖子
    http://www.iteye.com/topic/77475

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序