我使用JpaSpecificationExecutor,JPA 2.0,Hibernate和MSSQL,并希望建立与CriteriaBuilder以下查询:如何根据JPA和JpaSpecificationExecutor的结果进行分组?
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'? – mabi 2014-09-01 12:45:24
更新后的查询无效。它解决了'FROM'问题,但您仍然无法选择不在'GROUP BY'子句中的原始列。你能描述一下你实际想要达到的目标吗? – mabi 2014-09-02 08:45:16
我想按结果分组,使用JPA和JpaSpecificationExecutor。 – 2014-09-02 10:14:32