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 目详情-五一模拟赛详情页
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line