2017-08-14 39 views
0

我試圖解決這個問題,但我沒有找到任何形式來解決這個問題,你可以幫我這個,這個配置與WebSphere內部異常:java.sql.SQLException:Falta elparámetroINØOUT en elíndí:: 1

[14/08/17 15:18:54:242 CDT] 00000053 SystemOut  O [EL Warning]: 2017-08-14 15:18:54.227--UnitOfWork(-1037272639)--Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.4.2.qualifier): org.eclipse.persistence.exceptions.DatabaseException 
Internal Exception: java.sql.SQLException: Falta el parámetro IN o OUT en el índice:: 1 
Error Code: 17041 
Call: select nvl(sum(exh.montopagoprimaneta),0) FROM midas.tdpagocoberturareasegurador exh where exh.idtoplanpagoscobertura= :idtoplanpagoscobertura and exh.idreasegurador= :idreasegurador and exh.estatuspago= :estatuspago 
Query: DataReadQuery(sql="select nvl(sum(exh.montopagoprimaneta),0) FROM midas.tdpagocoberturareasegurador exh where exh.idtoplanpagoscobertura= :idtoplanpagoscobertura and exh.idreasegurador= :idreasegurador and exh.estatuspago= :estatuspago ") 
[14/08/17 15:18:54:242 CDT] 00000053 BusinessExcep E CNTR0020E: EJB ha generado una excepción no esperada (no declarada) al invocar el método "getmontoPagadoReasegurador" en el bean "BeanId(DEV-MidasPersistencia#MidasPersistencia.jar#ContratoFacultativoFacade, null)". Datos de la excepción:Local Exception Stack: 
Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.4.2.qualifier): org.eclipse.persistence.exceptions.DatabaseException 
Internal Exception: java.sql.SQLException: Falta el parámetro IN o OUT en el índice:: 1 
Error Code: 17041 
Call: select nvl(sum(exh.montopagoprimaneta),0) FROM midas.tdpagocoberturareasegurador exh where exh.idtoplanpagoscobertura= :idtoplanpagoscobertura and exh.idreasegurador= :idreasegurador and exh.estatuspago= :estatuspago 
Query: DataReadQuery(sql="select nvl(sum(exh.montopagoprimaneta),0) FROM midas.tdpagocoberturareasegurador exh where exh.idtoplanpagoscobertura= :idtoplanpagoscobertura and exh.idreasegurador= :idreasegurador and exh.estatuspago= :estatuspago ") 

下面的代碼

public Double getmontoPagadoReasegurador(PagoCoberturaReaseguradorId id){ 
     String queryString = "select nvl(sum(exh.montopagoprimaneta),0) FROM midas.tdpagocoberturareasegurador exh " 
       + " where exh.idtoplanpagoscobertura= :idtoplanpagoscobertura " 
       + " and exh.idreasegurador= :idreasegurador " 
       + " and exh.estatuspago= :estatuspago "; 
      Query query = entityManager.createNativeQuery(queryString); 
      query.setParameter("IdToPlanPagosCobertura", id.getIdToPlanPagosCobertura()); 
      query.setParameter("IdReasegurador", id.getIdReasegurador()); 
      query.setParameter("estatusPago", PagoCoberturaReaseguradorDTO.PAGADO); 
      return Utilerias.obtenerBigDecimal(query.getSingleResult()).doubleValue(); 
    } 
+0

你能清理這個嗎? –

回答

0

請檢查您傳遞的查詢參數。它是區分大小寫的。對你的代碼做了一些更正。請現在嘗試。

public Double getmontoPagadoReasegurador(PagoCoberturaReaseguradorId id){ 
     String queryString = "select nvl(sum(exh.montopagoprimaneta),0) FROM midas.tdpagocoberturareasegurador exh " 
       + " where exh.idtoplanpagoscobertura= :idtoplanpagoscobertura " 
       + " and exh.idreasegurador= :idreasegurador " 
       + " and exh.estatuspago= :estatuspago "; 
      Query query = entityManager.createNativeQuery(queryString); 
      query.setParameter("idtoplanpagoscobertura", id.getIdToPlanPagosCobertura()); 
      query.setParameter("idreasegurador", id.getIdReasegurador()); 
      query.setParameter("estatuspago", PagoCoberturaReaseguradorDTO.PAGADO); 
      return Utilerias.obtenerBigDecimal(query.getSingleResult()).doubleValue(); 
    } 
+0

讓我試試我告訴你,如果這個問題解決了,謝謝你的評論和你的幫助 – MarcuzVon