2017-01-10 6 views
0

아래의 쿼리는 Missing IN or OUT parameter at index:: 1 같은 오류를 제공합니다 ... WHERE p.SALES_TYPE IN :types 같은 IN 매개 변수에 대괄호없이 시도했습니다. 그러나 여전히 같은 오류.네이티브 쿼리 IN 절 던지고 SQL 오류

public List getWithinXDays(ArrayList<String> salesTypes,String sId, String xdays) { 

    Query q = em.createNativeQuery("SELECT p.ORDER_ID FROM formtable p WHERE p.SALES_TYPE IN (:types) AND p.MCODE=:sid AND TRUNC(SYSDATE - p.creationdate) <=:days"); 
    q.setParameter("types",salesTypes); 
    q.setParameter("sid",sId); 
    q.setParameter("days",xdays); 
    List salesOrderRow = q.getResultList(); 
    return salesOrderRow; 
} 

스택 트레이스 :

<Jan 10, 2017 4:12:07 PM SGT> <Warning> <EclipseLink> <BEA-2005000> <2017-01-10 16:12:07.551--UnitOfWork(29679273)--Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.DatabaseException 
Internal Exception: java.sql.SQLException: Missing IN or OUT parameter at index:: 1 
Error Code: 17041 
+1

여기에 중괄호를 제거하십시오 :'IN (: types)' – Jens

+0

@Jens 같은 오류. 나는 그것을 또한 시도했다. –

+0

salesTypes의 가치는 무엇입니까? n은 비어 있거나 null입니다. – farrellmr

답변