2016-08-15 3 views
0

를 사용하여 스프링 JPA + 검색어 DSL에서 SUM 함수를 만드는 방법을 나는PathBuilder

select sum(qty)... from table where productname = 'Pepsi' group by product. 

아래 내가 PathBuilderQueryDSL 봄 코드 아래에 만든 같은 쿼리가 다음과 같은 페이지 형식의 데이터를 가져 오려면 -

Page<Stock> page = stockRepository.findAll(wherecondition,pageable); 

잘 모르겠다. JPA 저장소와 함께 sumfunction을 사용하는 방법. 내가 BooleanExpression을 결합 할 수 없습니다 및

+0

쿼리 dsl을 사용해야하는 특별한 이유는 무엇입니까? – Arun

+0

프런트 엔드에서 오는 필터를 기반으로 쿼리가 동적이기 때문에 –

+0

productname = 'Pepsi'또는 다른 조건이있는 유일한 경우입니까? productname의 값이 동적이라고 가정합니다. 즉, 사용자 선택에 따라 Pepsi가 변경 될 수 있습니다. – Arun

답변

0

NumberExpression 그랬던 것처럼 당신은 테이블을 나타내는이

@Configurable 
public interface XXRepository extends PagingAndSortingRepository<xx, String> { 

@Query(value = "select sum(qty)... from table where productname = ?1 group by product", nativeQuery = true) 
     public String findSumOfQty(String productname); 
} 

XX = 당신의 엔티티 이름처럼하려고합니다.

+0

우리는 어디에서 조건을 사용할 수 있습니까? @Query 주석을 사용할 수없는 이유는 무엇입니까? –