当前位置: 首页 > 知识库问答 >
问题:

如何在Spring Data JPA中编写HQL查询中的左外联接

荀博
2023-03-14

我有一个名为“位置”的表,在这里我可以捕捉员工的经纬度。location表有以下字段:id、employee_id(FK to employee表)、latitude、longitude、Created_Date。此表包含许多具有不同created_date的employee_id条目。现在,我想从location表中获得所有员工的最新创建日期。也就是说,location表可能包含1月1日和1月2日创建的Employee_ID1的两个条目。结果查询应该只返回Employee_ID1的1月2日条目。同样,我希望从所有的雇员目前列出的位置表条目。

SELECT loc1.* FROM location loc1 LEFT OUTER JOIN location loc2 
    ON (loc1.employee_id = loc2.employee_id AND 
        (loc2.createdDate > loc1.created_date AND loc2.id > loc1.id)) 
    where loc2.employee_id is null;
SELECT loc1 FROM location loc1 LEFT OUTER JOIN location loc2 ON 
        (loc1.employee= loc2.employee AND 
               (loc2.createdDate > loc1.createdDate AND loc2.id > loc1.id)) 
        where loc2.employee is null

当同一个表用于联接时,如何给出路径?

共有1个答案

於功
2023-03-14

如果实体之间定义了JPA关系,请参阅如何在Hibernate查询语言中执行左联接?

否则请参见非相关实体的HQL左联接

 类似资料:
  • 我对冬眠很陌生。 所有实体都与表名和列名相同。这个查询在mysql中运行良好。我想用HQL编写这个查询。 我将如何在hql中编写这个?请任何人帮帮我。

  • 我是HQL的新手。请告诉我如何在HQL中编写这个查询。 我的SQL方法是 我的SQL查询是 其中,id和日期是动态的 请在Hql查询中转换此sql查询

  • 问题内容: 我正在努力编写一个HQL查询以在表中插入新记录。我已经看到了一些插入查询,如下所示,但我不想从下面的代码插入另一个表中的数据。 例如,我有一个表“ User”,其中有三个字段,例如名称,年龄,数字,并且有该用户表的实体。插入查询将是什么? 问题答案: 在HQL中,仅支持INSERT INTO…SELECT…。没有INSERT INTO…VALUES。HQL仅支持从另一个表插入。 因此可

  • 问题内容: 假设我要编写以下HQL查询: 将其编写为参数化查询的正确方法是什么,例如 问题答案: 我不确定如何使用位置参数来执行此操作,但是如果可以使用命名参数而不是位置参数,则可以将命名参数放在方括号内,并且可以使用Query接口中的setParameterList方法将值列表绑定到此参数。

  • 嗨,我正在尝试使用左外部连接执行hql查询,它是thwhing异常作为org.hibernate.hql.ast.querysyntaxException:意外标记:在第1行附近,可以告诉我这个查询中有什么问题吗 从CreditCardDetails cred左外连接CustomerHistory custHist on cred.creditCardDetailSid=custHist.Cred

  • 问题内容: 我有桌子。与… 有关系。 类作者 课堂书 如何编写查询,以便能获得所有作者和那里的书,而且书名应以 我知道使用这样的查询, 我可以获取所有作者和那里的书,但是如何在书上注明条件? 问题答案: 我认为是这样的: 虽然不确定a.Book,也可能是a.Books,因为您的列名就是这样命名的。