Java 如何查询拥有特定类型订单或根本没有订单的客户?
我知道如何查询具有特定订单类型的客户(使用leftjoinfetch加入订单后): 我还知道如何查询根本没有订单的客户: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)上生
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'