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

多个Or条件与几个单独的JPQ/Hibernate查询-对实体

洪胤
2023-03-14

我需要从已经收到的结果对象中查询不同元素组合的数据库。

例如,我得到一个Person实体的列表。对于Person实体中的每个人,我需要获取地址列表(每个人)。

有两种方法可以做到这一点:

    < li >迭代Person实体,并为每个Person实体发出一个查询,以获取该人的地址列表。 < li >使用来自Person实体的元素动态构建查询,并启动一个查询来提取所有人员的所有地址列表,然后再次迭代Person实体并匹配每个人员的地址列表。

我不知道我可能得到多少Person实体。那么在性能和实践方面,什么是更好的方法呢。

因此,如果我有100个人实体,在第一种方法中会有100个查询,而第二种方法会有如下巨大的查询

 from address where  (person.id = 1 and person.zip = 393)
                  or (person.id = 2 and person.zip = 123)
                  or (person.id = 3 and person.zip = 345)
                  .... // 10 times.

哪个更好?甲骨文有任何限制或条件吗?有更好的方法吗?批量查询?

共有1个答案

韦嘉颖
2023-03-14

您可以将hibernate与急切加载一起使用,通过向人员加载所需的限制来直接获得您想要的结果。或者,如果您想坚持延迟加载,请尝试使用带有person和Address的内部连接,这样您就可以得到包含结果的数组列表

 类似资料:
  • 问题内容: 我想用cakephp进行这样的查询: 这是我的$ conditions代码: 我正在使用Debugger :: dump()方法显示结果,并且结果仅使用最后一个“ OR”条件,而不是同时使用“ OR”条件: 我的问题是,如何进行查询以同时使用“ OR”条件? 请尽快回复..在此先感谢:) 问题答案: 请尝试以下方法: 将是 任何阵列没有指定,或者是。无需手动指定。

  • 我有一个班级评语: 保留comment类可以工作,但以下条件查询是有效的: 抛出org.hibernate.exception.DataException:未为参数%1指定值。 这是生成的查询: 选择this_.comment_id作为comment1_0_0_,this_.comment_id作为comment0_0_,commenttop2_.comment_id作为comment1_0_2_

  • 问题内容: 在我当前的项目中,我遇到了使用hibernate条件查询获取实体的问题。我有以下实体: 教授,其中包含学生名单 学生,其中包含作业列表。 作业,其中包含分配到的学生的ID。 现在,我想获得与教授有关的所有作业,即教授分配给他的学生的所有作业。 此查询显示我要在条件查询中实现的内容。 如何使用hibernate条件API实施此查询? 问题答案: 假设您的表格是这样的: 使用别名的简单示例

  • 我是Hibernate的新手,希望实现Hibernate条件或hql来查询多个表以获得结果,但我在这方面遇到了问题。。现在,我在hibernate中使用原生sql来完成我需要的任务,但我想用hql/criteria尝试一下。。下面是我用来获取结果的本机查询。。 下面是我的实体pojo类 表1: 表2: 表3: 表4: 我还没有实现pojo类中表之间的映射,我很难理解这一点。。所以我要向社区寻求帮助

  • 我试图比较Hibernate条件和命名查询的性能。我知道这一切都取决于实际的查询本身,最后一个字取决于它们在运行时如何配置文件。尽管如此,试图理清每一个都有什么。 我试图将Q分为两个部分&寻找两者的验证/更正: 命名查询与HQL相比具有相同的优势--查询在启动时被解析一次。然后从应用程序中任何必要的地方执行。 第2部分--比较两者: 所以在这张图里, 提亚。

  • 问题内容: 我喜欢这样的查询: 在ORMlite中,可以使用以下代码: 如果可以事先知道条件,并且在编码时就可以了,那么我需要动态添加条件。 基本上,这种方法是不够的。它需要其他支持的方法的条件。 感谢您的任何建议。 问题答案: 如果可以事先知道条件,并且在编码时就可以了,那么我需要动态添加条件。 在ORMLite 中有一点语法上的缺陷。您打电话的时候: 该方法得到的是: 您确实可以将其重写为: