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

如何编写hql连接查询

龚永新
2023-03-14

我是HQL的新手。请告诉我如何在HQL中编写这个查询。

我的SQL方法是

public Integer validateEditDate(int id, String date);

我的SQL查询是

SELECT 
count(a.activity_task_id)
FROM activity_task_details AS a
JOIN milestone_activity_details AS b
    ON a.milestone_activity_id =  b.milestone_activity_id
WHERE a.milestone_activity_id = 17
    AND DATE(a.task_end_date) > '20161229';

其中,id和日期是动态的

请在Hql查询中转换此sql查询

共有1个答案

苏承载
2023-03-14

要在HQL中转换SQL查询,首先必须定义关于db表映射的类。

您有两张桌子:

activity_task_detailsmilestone_activity_details

所以你必须有两个类,如下所示:

活动任务详细信息MilestoneActivityDetails

因此,您必须将字段映射为属性。假设您已经这样做了,您的查询将变成:

SELECT 
count(a.activity_task_id)
FROM ActivityTaskDetails a, MilestoneActivityDetails b
WHERE a.milestone_activity_id =  b.milestone_activity_id
AND a.milestone_activity_id = :paramId
AND a.task_end_date > :paramDate;

请注意,如果可能的话,您的task\u end\u日期在classActivityTaskDetails中声明为date

要执行您的查询:

String hql = "Your HQL query write upper";
Query q = session.createQuery(hql);
q.setString("paramId", id);
q.setDate("paramDate", date);
q.list();

会话是获取会话工厂对象的变量

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

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

  • 我正在使用hibernate为一个项目连接到我的数据库。 我想有一个查询,从我的数据库中获得产品与特定语言的描述和名称。我拥有的参数是该语言的简称,因此首先我必须获得该语言的id,然后获得所需语言的文本。 我尝试了下面的hql查询,没有成功。

  • 我是SpringWebFlux反应型新手。我使用R2DBC postgresql。我有这样一个存储库: 现在我想通过许多复杂的条件为查询添加自定义方法: 我的实施: 我的问题在上面的代码中: 如何获得EntityManager? 如何从我构建的HQL查询中获取Flux? 当我问这些问题时,我的意思是“如何用Spring反应式/r2dbc方式实现”,而不是“如何用JDBC实现这种常规方式”

  • 我有一个名为“位置”的表,在这里我可以捕捉员工的经纬度。location表有以下字段:id、employee_id(FK to employee表)、latitude、longitude、Created_Date。此表包含许多具有不同created_date的employee_id条目。现在,我想从location表中获得所有员工的最新创建日期。也就是说,location表可能包含1月1日和1月2

  • 我想执行以下sql查询 如何使用hibernate 3.0为此编写hql查询 我是这样写的 但它显示了hql语法错误