我可以使用 QuerydslPredicate 执行一对多连接查询吗?

问题描述

我在 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

解决方法

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

JPA Criteria: QuerySyntaxException for left join on treat entity

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...