java - 使用单个查询获取最小和最大列值
问题描述
如何通过使用 jpa 而不是使用本机查询来获取min
和价值?max
必须通过单个事务获取结果。
相对sql
查询:
SELECT min(price), max(price) FROM product
我尝试使用此代码
criteria.setProjection(Projections.min("price"));
Integer min = (Integer) criteria.uniqueResult();
...
criteria.setProjection(Projections.max("price"));
Integer max = (Integer) criteria.uniqueResult();
但这似乎太奇怪了,无法执行两次。
解决方案
使用投影列表:
criteria.setProjection(
Projections.projectionList()
.add(Projections.min("price"))
.add(Projections.max("price"))
);
推荐阅读
- awilix - Awilix 无法解决选项
- angular - 如何仅在参数或查询参数的一个键值对更改时触发订阅
- git - 什么可以阻止 URL 中的基本身份验证凭据起作用?
- allure - Allure 和 Jira X-Ray 集成
- python - 从具有正确打印格式的字典中迭代
- tensorflow - TensorFlow 数据集映射中的条件与“基本”Python 行为不一致
- ajax - WordPress 上传 blob 文件
- css - CSS网格中的图像不会居中
- javascript - 使用 Javascript 的电子商务网站的简单流行/趋势产品算法
- c++ - 将 void* 转换为 const void**