当前位置: 首页 > 知识库问答 >
问题:

HQL加入查询以快速获取大量关系

国晟睿
2023-03-14

然而,我们在hibernate日志中非常清楚地看到,它进行了100k次迭代。Hibernate有可能在你的关系中陷入循环吗?

或者也许这应该作为一个新的问题来问?

共有1个答案

贺波
2023-03-14

我们的团队使用特殊的策略来处理关联。集合是惰性的,单一关系也是惰性的,除了结构简单的引用(例如countrys引用)。我们使用fluent-hibernate加载具体情况下需要的内容。这仅仅是因为fluent-hibernate支持嵌套投影。您可以参考这个单元测试来了解如何部分加载复杂的对象网。单元测试中的代码片段

 List<Root> roots = H.<Root> request(Root.class).proj(Root.ROOT_NAME)
            .innerJoin("stationarFrom.stationar", "stationar")
            .proj("stationar.name", "stationarFrom.stationar.name")
            .eq(Root.ROOT_NAME, rootName).transform(Root.class).list();

另见

如何使用Hibernate转换平面结果集

 类似资料:
  • 我使用Grails v3.3.9。 我无法让查询急切地加载一对多关联。尝试了各种方法。 这是相对于尝试在单元测试中使用它(在运行时应用程序也失败)发布的。 场景:我有两个域类,一个叫做“OrgRoleInstance”,它有

  • 问题内容: 我有以下查询: 目前,此查询大约需要93分钟才能完成。我想找到使它更快一点的方法。 该表大约有506,000行,其中大约490,000行包含的值,因此我怀疑我是否可以利用此处的任何索引。 该表(未压缩时)中包含约46 gigs的数据,但是该数据的大部分位于名为的文本字段中。我相信简单地加载和卸载许多页面会导致速度下降。一个想法是做一个新表 只是 在和现场,并保持尽可能小。但是,测试该理

  • 我有一个简单的Select语句,它从2个MySQL表返回数据,运行良好。我现在需要从第三个相关表返回一些数据,但不确定如何做到这一点。 这是我当前的SQL查询 现在需要从wp_postmeta表中获取值,其中wp_postmeta表中的_thumbnail_id的值与wp_postmeta表中的post_id值匹配,并且meta_key值=_wp_attached_file。 下面是wp_post

  • 我对工具包的结果计数有这样的输出格式: 我实现了一个循环来查询工具包,然后检查结果值中的相关性,如下所示: 不幸的是,这个解决方案非常缓慢。你对如何做到这一点有什么建议吗?多谢了。 编辑:因为项目太多,所以很慢。

  • 问题内容: 我有5个MySQL InnoDB表:每个表都在Hibernate中映射并起作用。我玩过使用StatelessSession / Session和JDBC批处理大小。我删除了任何生成器类,以使MySQL处理id生成- 但它的执行速度仍然很慢。这些表中的每一个都在java类中表示,并相应地在hibernate中进行映射。目前,当需要将数据写出时,我遍历对象并执行一个(如果正在使用State

  • 问题内容: 我想使用python快速找到任何文件夹的总大小。 这是我编写的用于获取文件夹总大小的简单脚本,大约花费了60秒(+ -5秒)。通过使用多处理,我在四核计算机上将其缩短到23秒。 使用Windows文件浏览器仅需约3秒钟(右键单击->属性即可自行查看)。那么,有没有一种更快的方法来找到文件夹的总大小,使其接近Windows可以达到的速度? Windows 7,python 2.6(搜索,