将 sql 查询上的本机不同值转换为 hql

发布于 2024-12-10 16:03:35 字数 310 浏览 0 评论 0 原文

我想将以下本机 sql 查询转换为 hql 查询。我浏览了 hibernate 文档,他们给出了有关具有不同对象/字段的查询的示例,但没有给出有关“不同”用法的示例。有人可以帮我解决这个问题吗?

我的 sql 查询是:


 select distinct on(mr.id) mr.* 
 from rebate.mr_rebates mr 
 where mr.mr_start_date <= now()
 order by mr.id, mr.mr_start_date desc

谢谢。

I want to convert following native sql query to hql query. I gone through hibernate docs they given examples on queries with distinct objects/fields but no where given about "distinct on" usage. Can some one help me to resolve this.

my sql query is :


 select distinct on(mr.id) mr.* 
 from rebate.mr_rebates mr 
 where mr.mr_start_date <= now()
 order by mr.id, mr.mr_start_date desc

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

踏月而来 2024-12-17 16:03:35

那么 distinct on 似乎是数据库特定的扩展,因此不是标准 SQL。因此,HQL 无法提供精确的等效项(如何在不支持该功能的数据库上自动转换它?)。

因此,最好的选择可能是将查询更改为仅使用标准 SQL 语法。有关一些提示,请查看此处:

http://www.postgresonline.com/journal/archives/4-Using-Distinct-ON-to-return-newest-order-for-each-customer.html

Well distinct on seems to be a database specific extension and thus is not standard SQL. Because of this, HQL can't provide an exact equivalent (how would you automatically translate that on databases that don't support that feature?).

So, your best bet might be to change your query to use standard SQL syntax only. For some hints have a look here:

http://www.postgresonline.com/journal/archives/4-Using-Distinct-ON-to-return-newest-order-for-each-customer.html

苹果你个爱泡泡 2024-12-17 16:03:35

据我所知,这就像此处提到的那样简单。您可以在此页面找到更多信息。

As far as I know it's as simple as mentioned here. You can find more information at this page.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文