【发布时间】:2014-10-25 16:47:41
【问题描述】:
我正在使用 JpaSpecificationExecutor、JPA 2.0、Hibernate 和 MSSQL,并希望使用 CriteriaBuilder 构建以下查询:
SELECT CURR_DATE, MAX(POSITION) FROM TOP_COMPONENT_HISTORY GROUP BY CURR_DATE
我的问题:可能吗?如果,如何?
感谢您对这个问题的思考!
这是我的代码..
表(TOP_COMPONENT_HISTORY)
1 ARC_ID varchar NO
2 CURR_DATE varchar NO
3 REG_DATE datetime2 YES 7
4 APPLY_DATE datetime2 YES 7
5 POSITION int YES 10 0
6 REG_USER_ID varchar NO
7 MOD_USER_ID varchar NO
服务
public Page<TopComponentHistory> findByCurrDate(ArticleSearchForm searchForm){
return topComponentHistoryRepository.findAll(TopComponentHistory.findAllGroupBy(),constructPageSpecification(searchForm.getPageNum());
}
域
public class TopComponentHistory implements Serializable {
public static Specification<TopComponentHistory> findAllGroupBy() {
How can i make query...
return ..
}
}
存储库
public interface TopComponentHistoryRepository extends JpaRepository<TopComponentHistory, String>, JpaSpecificationExecutor<TopComponentHistory> {
}
【问题讨论】:
-
我很难将我的想法集中在您的初始查询上。它缺少
FROM子句,我不确定您希望如何处理TITLE? -
更新后的查询无效。它正在解决
FROM问题,但您仍然无法选择不在GROUP BY子句中的原始列。你能描述一下你真正想要实现的目标吗? -
我想使用 JPA 和 JpaSpecificationExecutor 按结果分组。
标签: hibernate jpa-2.0 spring-data spring-data-jpa