这是我的DAO代码
this.calcRTRDetails = new SimpleJdbcCall(dataSource).withCatalogName("score_rtr"). withProcedureName("calc_rtr_dtls").declareParameters( new SqlParameter("p_repy_track",Types.ARRAY) ).returningResultSet("p_track_dtls",new RowMapper<String>() { @Override public String mapRow(ResultSet rs,int arg1) throws SQLException { // TODO Auto-generated method stub return rs.getString(1); } } );
我收到以下错误
org.springframework.dao.InvalidDataAccessApiUsageException: Unable to determine the correct call signature - multiple procedures/functions/signatures for CALC_RTR_DTLS found [SCORE_RTR.SCORE.CALC_RTR_DTLS,SCORE_RTR.SCORE.CALC_RTR_DTLS]
可能是什么原因?
解决方法
我发现我有一个非常类似的问题,我试图调用一个重载的Postgres函数. Spring 3.2.3中的解决方案是调用withoutProcedureColumnMetaDataAccess().
但一定要明确声明您的参数.另一种方法是为您的重载函数赋予不同的名称.