Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.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 如何使用左外连接创建jpql_Java_Mysql_Jakarta Ee_Jpa_Jpql - Fatal编程技术网

Java 如何使用左外连接创建jpql

Java 如何使用左外连接创建jpql,java,mysql,jakarta-ee,jpa,jpql,Java,Mysql,Jakarta Ee,Jpa,Jpql,例如,我有两个实体。 实体Mysql表名=A B实体Mysql表名=B 我想从不在B表中的表中获取数据。 我编写了sql,它正在工作。 从列表中选择* 左外连接B 在A.id=B.A\u id上 其中B.id为null 如何使用JPQL实现它?请访问以下网站。它将帮助您 我认为以下措施应该有效: SELECT A FROM A a LEFT JOIN a.B b WHERE b.id = null; 这应该在id上连接A和B,在A与B不匹配的地方留下null。然后从A中选择B.id为null的

例如,我有两个实体。 实体Mysql表名=A B实体Mysql表名=B 我想从不在B表中的表中获取数据。 我编写了sql,它正在工作。 从列表中选择* 左外连接B 在A.id=B.A\u id上 其中B.id为null


如何使用JPQL实现它?

请访问以下网站。它将帮助您


我认为以下措施应该有效:

SELECT A FROM A a LEFT JOIN a.B b WHERE b.id = null;
这应该在id上连接A和B,在A与B不匹配的地方留下null。然后从A中选择B.id为null的行。好像是你要找的。同时检查以下SOs: 如以下所述:


让我知道它是否有效

您可以使用此命令

从A中选择*其中A.id不在“从B中选择B.id”


如果您想只使用join,请告诉我您是否有以下某种结构:

Class EntityA
--------
long Id
Set<EntityB> Bs

Class EntityB
-------
long Id
EntityA A

不知道你在问什么。您是否要求使用Java中所需的全部设置来获取和存储对象中的结果?或者如何将该查询转换为可以从实体管理器运行的内容?如果是第二点,那么乍一看就可以了。是的,我想将它转换为可以从实体管理器运行的JPQL。那么我看不出查询有任何错误。你试过了吗?在JPA2.1中有一个ON操作符,但在早期版本中没有,但是没有SELECT*这是一个不正确的查询。因为,他给了我一个表中的所有数据,但我需要一个表中不在B表中的数据。这个查询提供了“A”中的所有数据,其中ID不在“B”中。这不是你想要的吗?嗨!我使用的是php mysql,你能把这个查询修改成你的platform@TomStone这个查询提供了一个数据库中的所有数据,这对我来说也是一个惊喜。因为我们添加了不在条件中的数据
SELECT a FROM EntityA a WHERE a.Bs IS EMPTY