SQL 查询 TO JPQL 一个

SQL query TO JPQL one

我正在尝试转换此 sql 查询:

SELECT *
    FROM event
    WHERE idEvent IN (SELECT idEventfk FROM userevent WHERE absence='1');

进入一个JPQL:

SELECT e FROM Event e where e.idEvent
IN (SELECT ue.idEventfk FROM userevent ue WHERE ue.absence='1'

但结果返回 null。知道错误吗?

如果事件实体中存在相关实体的对象,则可以加入它们以获得所需的结果:

select e from Event e join e.userevent ue where ue.absence = '1'

试试这个:

SELECT e.* FROM Event e where e.idEvent
IN (SELECT ue.idEventfk FROM userevent ue WHERE ue.absence='1')

您可以使用 EXISTS 子句:

SELECT e FROM Event e 
where exists 
  (SELECT ue FROM userevent ue WHERE e.idEvent = ue.idEventfk and ue.absence='1')