首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >避免从Hibernate中选择N+1

避免从Hibernate中选择N+1
EN

Stack Overflow用户
提问于 2015-09-02 22:41:54
回答 1查看 167关注 0票数 0

在我的项目中,我们有hbm.xml文件,对于所有关系表,它是fetch="select“,用于一对多。

例:一所学校有很多教室,一间教室会有很多孩子。

所以在我的hbm文件里

school.hbm.xml

<设置name=“教室”、“lazy=”、假“fetch=”选择“”>

classroom.hbm.xml

lazy="false“fetch="select">

在这种情况下,我只想获取基于教室div = 'A‘的学校名单。但是由于这种映射,hibernate也在为教室做select,在这种情况下我不想这样做。

请帮助我如何避免做不必要的选择与课堂。是否存在重写此获取模式并只与学校和教室以及而不是与儿童连接的问题?

我试过多种选择,但没有运气。非常感谢你的投入。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-03 07:11:56

不-我相信您不能覆盖急切的映射,既不能使用查找、查询,也不能使用条件查询。见StackOverflow thread。克服懒惰是很容易的。

hbm.xml文件,它是针对所有关系表的一对多的fetch=“选择”。

...seems就像一个糟糕的默认选择-这就是为什么相反的是Hibernate自己的默认选择。

通常,在映射中保持低调和懒散是一种很好的做法,并且在迫切需要时使用查询。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32364321

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档