【问题标题】:JPQL result list with possible second linked entity具有可能的第二个链接实体的 JPQL 结果列表
【发布时间】:2014-04-04 08:11:18
【问题描述】:

我有两个 JPA 实体,客户和地址。 Address 有指向 Customer 的链接,但 Customer 没有指向 Address 的链接。我知道这听起来很奇怪,但我们目前无法更改。

在数据库中,我们有 100 个客户,以及与客户相关联的 10 个地址。我想运行一个查询,返回所有 100 个客户的列表,并在第二列(如果有)中返回地址。

我可以这样查询:

SELECT c, a from Customer c, Address a WHERE a.customerId = c.id;

这会返回一个我想要的列表,但实际上只有 10 个客户有地址。

在 JPQL 中有没有办法获取 100 个客户的列表,并且在第二个数组位置中的地址或 null 如果不存在?

【问题讨论】:

    标签: java jpa jpql


    【解决方案1】:

    您需要一个左外连接。类似的东西

    SELECT Customer.id, Customer.name, Address.street, ... from Customer LEFT OUTER JOIN Address on address.customer_id = customer.id; 
    

    您可以在此处找到如何处理 jpa 的说明:

    How to create a JPA query with LEFT OUTER JOIN

    问候,

    迈克

    【讨论】:

      猜你喜欢
      • 2017-10-01
      • 1970-01-01
      • 2023-04-08
      • 1970-01-01
      • 2015-08-02
      • 1970-01-01
      • 1970-01-01
      • 2020-03-15
      • 1970-01-01
      相关资源
      最近更新 更多