【问题标题】:Can I perform a one-to-many join query using a QuerydslPredicate?我可以使用 QuerydslPredicate 执行一对多连接查询吗?
【发布时间】:2020-12-23 23:34:12
【问题描述】:

我在this guide 中看到,提供路径作为谓词的一部分可以生成连接:

get("/users?address.country=Spain") 生成:

select user0_.id as id1_1_, 
       user0_.name as name2_1_ 
from user user0_ 
      cross join address address1_ 
where user0_.id=address1_.user_id 
      and address1_.country='Spain'

在上面的示例中,虽然我看到这种关系是一对一的。

我的问题是:是否有可能提供从一对多的路径以创建隐式外部连接

例如在above guide example 中,我能否提供:/users?address.country=Spain 如果用户与地址存在一对多关系,并返回类似以下内容?:

user1-address1
user1-address2
user2-address3
user2-address4

【问题讨论】:

    标签: spring spring-data-jpa querydsl spring-restcontroller spring-boot-starter


    【解决方案1】:

    我刚刚回答了这个问题,至少在加入方面。我不知道您所说的“作为谓词的一部分”是什么意思。我鼓励您先研究并发布您尝试过的内容,然后再针对 SO 提出不好的问题。

    JPA Criteria: QuerySyntaxException for left join on treat entity

    【讨论】:

    • 我已经更新了我的答案。我希望现在更清楚了。
    猜你喜欢
    • 2013-05-18
    • 2021-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-14
    • 2018-09-23
    • 1970-01-01
    • 2014-03-29
    相关资源
    最近更新 更多