2017-10-19 10 views
1

하루에 약간의 수를 쿼리해야하며 맵에서이를 반환하는 명명 된 네이티브 쿼리를 만들고 싶습니다. 내가 어떻게 할 수 있니?반환 방법 JpaRepository를 사용하여 xml의 명명 된 nativ 쿼리의 결과로 맵

<named-native-query name="getLeadNumberByDayInDateRange" result-set-mapping="map"> 
      <query> 
       SELECT addeddate, 
         Count(DISTINCT campaignid, email) AS count 
       FROM leads 
       GROUP BY addeddate 
      </query> 
     </named-native-query> 

그래서 나는 XML로 쿼리를 쓰고 그리고 난 JpaRepository이 점을 추가하고 싶습니다 :

@Query("SELECT l.addeddate, Count(DISTINCT l.campaignid) 
     FROM leads l 
     GROUP BY l.addeddate") 
public Map<LocalDateTime, Integer> getLeadNumberByDayInDateRange(); 

:

@Query 
public Map<LocalDateTime, Integer> getLeadNumberByDayInDateRange(); 

답변

2

라는 쿼리 하나가 뭔가를 할 수 있다는하려면 또는 무엇인가 :

@NamedQuery(name = "getLeadNumberByDayInDateRange", 
query = "SELECT l.addeddate, Count(DISTINCT l.campaignid) 
     FROM leads l 
     GROUP BY l.addeddate") 
public Map<LocalDateTime, Integer> getLeadNumberByDayInDateRange(); 

또는 사용자 정의 매핑을 원하면 [sql result set mappings]를 사용할 수 있습니다. 1

+0

나는 이것을 시도한다. 원인 : org.hibernate.hql.internal.ast.QuerySyntaxException : CLOSE가 예상된다. ','1 행 48 근처에있다. [SELECT l.addeddate, Count (DISTINCT l. campaignid, l.email)을 count from FROM lead로 설정합니다. l GROUP BY l.addeddate]. XML에서 그렇게 할 수 있습니까? – user3364181

+0

DISTINCT에 하나의 매개 변수 만 지정하십시오. 그게 효과가 있니? –

+0

잘 나는 그 2 개의 가치의 유일한 조합을 필요로한다 그것을 2 개의 params – user3364181