sql - Hibernate如何构建sql查询?
问题描述
我在 Postgres 11 中有以下查询
SELECT DISTINCT ON (account.name) *
FROM sys_accounts AS account
INNER JOIN sys_activities AS activity ON account.guid=activity.account_guid
WHERE activity.datefinish IS NOT NULL
AND (extract(day from NOW() - activity.datefinish)) > 60
AND dc_status_guid='df11a68c-20d3-46e2-840f-2e4548aacf1b'
ORDER BY account.name,activity.datefinish DESC
如何通过 Hibernate (5.4) 运行它
我需要获取上一个任务在 60 天前关闭的所有帐户
Java结构如
Account (oneToMany){
Activity1 :finishdate |stage ....
Activity2 :finishdate |stage ....
......
}
我不明白如何使用休眠语法 HQL 或 CRITERIA 编写此请求。使用 HQL 我得到错误:引起:org.hibernate.hql.internal.ast.QuerySyntaxException:意外令牌:在第 1 行附近,第 17 列 [SELECT DISTINCT ON (account.name)* FROM sys_accounts AS account INNER JOIN sys_activities AS 活动在 account.guid=activity.account_guid WHERE activity.datefinish 不为 NULL 并且 dc_status_guid='df11a68c-20d3-46e2-840f-2e4548aacf1b' ORDER BY account.name,activity.datefinish DESC]
解决方案
推荐阅读
- java - 在 JPA 中将单个实体映射到多个表:错误
- python - 如何在 Python 函数中集成 Keras 回调和历史绘图功能?
- css - 带有标题 div 的 GoogleMap 超出了窗口大小
- javascript - 使用 React 修改和上传多个大图像的正确方法是什么
- azure - 生成的 Azure Blob 版本 SAS 问题
- python - 用轴刻度排列颜色图数据并在 tkinter 中单击事件坐标数据
- vue.js - vuex 没有反应
- api - 在从服务器路由我的请求期间,我应该如何处理可伸缩性问题?
- php - laravel/php,从 sql pdo 中获取选定的 ID,并在以后的调用中将其用作变量
- python - 遍历 pandas 数据框(按列)并将所有特殊字符提取到列表中