Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何查询拥有特定类型订单或根本没有订单的客户?_Java_Jpa_Select_Left Join_Jpql - Fatal编程技术网

Java 如何查询拥有特定类型订单或根本没有订单的客户?

Java 如何查询拥有特定类型订单或根本没有订单的客户?,java,jpa,select,left-join,jpql,Java,Jpa,Select,Left Join,Jpql,我知道如何查询具有特定订单类型的客户(使用leftjoinfetch加入订单后): 我还知道如何查询根本没有订单的客户: select c from Customer c where c.orders is empty 如何在一次查询中选择所有订单类型为特定或根本没有订单的客户? 谢谢。类似于(在没有实际实体的情况下) 类似于(在缺少实际实体的情况下) 在所示的语句中,我看不到您在任何地方使用的任何左连接提取。另外,c.orders.type将在某些JPA提供程序(如Hibernate)上生

我知道如何查询具有特定订单类型的客户(使用leftjoinfetch加入订单后):

我还知道如何查询根本没有订单的客户:

select c from Customer c where c.orders is empty 
如何在一次查询中选择所有订单类型为特定或根本没有订单的客户?

谢谢。

类似于(在没有实际实体的情况下)

类似于(在缺少实际实体的情况下)


在所示的语句中,我看不到您在任何地方使用的任何左连接提取。另外,
c.orders.type
将在某些JPA提供程序(如Hibernate)上生成笛卡尔积(交叉联接)。在所示的语句中,我看不到您在任何地方使用的任何左联接提取。另外,
c.orders.type
将在某些JPA提供商(如Hibernate)上生成笛卡尔积(交叉联接)。
select c from Customer c where c.orders is empty 
SELECT c FROM Customer c LEFT JOIN c.orders o WHERE c.orders IS EMPTY OR o.type = 'CANCELLED'