java - 如何在 Hibernate Criteria API 中使用 row_number(或任何具有相同行为的东西)?
问题描述
我想用 CriteriaBuilder API 实现一个类似的查询:
SELECT *, ROW_NUMBER() OVER( ORDER BY Student_Score) AS RowNumberRank
FROM StudentScore
主要问题是 JPQL 不支持窗口函数,我不知道如何复制它们的行为......
解决方案
分析功能是特定于供应商的。这使得使用 CriteriaBuilder API 很难实现。使用本机查询将您的 java 应用程序与特定的数据库供应商联系起来。为避免这种情况,您可以创建供应商特定视图并在您的 java 应用程序中使用该视图创建一个带有标准 api 的选择。
除了StudentScore
您已经拥有的实体之外,您还必须定义一个StudentScoreView
具有额外属性的(只读)实体rowNumberRand
,您可以在 JPQL 查询中使用该实体。
推荐阅读
- markdown - 使用 pandoc-citeproc 输出参考书目而不引用任何内容
- angular - Angular 7 - 服务和订阅
- reactjs - ReactTable中列的自定义排序方法
- c - 打印句子中每个单词的首字母
- jquery - Bootbox - Confirm Modal Dialog Box 需要回调函数……但我有一个
- android - ZXing中的摄像头找到二维码后如何重启
- avro - Apache Flume 中的 Apache Avro 模式验证
- php - 如何通过.htaccess“删除”或“忽略”查询字符串变量?(对于 WP Super Cache,W3 Total Cache 风格)
- react-native - 用 Jest 在 React Native 中测试 TextInput 的值变化
- xamarin.forms - Xamarin Forms - 如何使用 PushModalAsync 从右到左为模式设置动画?