2017-01-10 28 views
0

下面的查詢給我錯誤,如Missing IN or OUT parameter at index:: 1 我試過它沒有括號在IN參數如... WHERE p.SALES_TYPE IN :types。但仍然是同樣的錯誤。原生查詢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的valyue是什麼?n是否爲空或爲空 – farrellmr

回答