2016-06-20 4 views
0

지도를 가져 키가 어떤 값과 같습니다.사용자 스프링 JPA 쿼리 나는 <code>Map<String,string></code><code>specifications</code>의와 기업이

예를 들어, 붉은 색 (의사 코드)와 인출 제품 : 제품 통해

루프;
제품 가져 오기;
사양을 조인하십시오.
'color'키로 값을 가져 와서 'red'값과 비교하십시오. true이면 출력에 추가; 다음 제품;

@Query("SELECT p FROM Products p LEFT JOIN FETCH p.specifications, p.reviews WHERE p.specifications.?1 = ?2") 

그러나 분명히, 그것은 작동하지 않습니다

나는이 쿼리를 시도했다.

+0

"가 작동하지 않았다". "명백하게". 너는 우리에게 정말로 많은 것을 말하고있다. "d.specifications.?1"은 분명히 유효하지 않은 JPQL입니다. –

답변

2

한 작업 솔루션은 다음과 같습니다 :

SELECT p FROM Product p LEFT JOIN p.specifications, p.reviews m 
where (KEY(m) = :1 and :2 in (VALUE(m)))