2012-09-13 5 views
0

이 쿼리가 있는데 hql로 변환해야하지만 혼란 스럽지만 hql의 'where'절에 나와있는 조건을 작성하는 법을 모릅니다.쿼리 변환 - Sql to HQL

SELECT 
    message 
FROM 
    p_message 
WHERE 
    message_id=(
     SELECT 
      a.scene 
     FROM 
      p_config a 
     INNER JOIN 
      p_rec_type b 
       ON a.email_id=b.email_id 
       AND rec_type=2 
     WHERE 
      a.email_type=1 
    ) 

이 SQL 쿼리에 해당하는 것은 무엇입니까?

+0

당신은 단지 최대 절전 모드 네이티브 쿼리 기능을 사용할 수 있습니다 – NimChimpsky

+0

유 pls 수있는 방법이 쿼리에 대한 코드를 작성? –

+1

관련 엔터티 및 매핑 정보를 표시해야합니다. Hibernate HQL은 도메인 (Object) 모델을 다룬다. –

답변

0

HQL 쿼리를 검색 : 그 p_message & p_config 가정은 & 다른 사람이 열 속성을 매핑하는 도메인 오브젝트의 이름입니다.

String hqlQuery =" SELECT message FROM  p_message pm WHERE pm.message_id in (SELECT a.scene FROM p_config a INNER JOIN p_rec_type b ON a.email_id=b.email_id AND rec_type =:rectype   WHERE a.email_type=:emailTYpe)"; 
    query = session.createQuery(hqlQuery); 
    query.setParameter("rectype", 2); 
    query.setParameter("emailTYpe", 1);