gpt4 book ai didi

sql - 是否可以在 Hibernate 中使用分析函数?

转载 作者:行者123 更新时间:2023-12-03 22:29:30 26 4
gpt4 key购买 nike

有没有办法在 Hibernate 中使用类似 sql-server 的分析函数?

就像是

select foo from Foo foo where f.x = max(f.x) over (partition by f.y)

最佳答案

您正在执行 native SQL 查询。

如果您使用的是 JPA,则语法为:

Query q = em.createNativeQuery("select foo.* from Foo foo " +
"where f.x = max(f.x) over " +
"(partition by f.y)", Foo.class);

如果需要返回多个类型,查看 SQLResultSetMapping注解。

如果您直接使用 Hibernate API:
Query q = session.createSQLQuery("select {foo.*} from Foo foo " +
"where f.x = max(f.x) over "+
"(partition by f.y)");
q.addEntity("foo", Foo.class);

10.4.4. Queries in native SQL在 Hibernate 文档中了解更多详细信息。

在这两个 API 中,您都可以使用 setParameter 像往常一样传入参数。

关于sql - 是否可以在 Hibernate 中使用分析函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74057/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com