title: How to access multiple return values from executeFunction?
body: <p>I've seen a bunch of examples of obtaining a single primitive result from <code>simpleJdbcCall.executeFunction</code>.  I need to know how to access a set of results.  <code>execute</code> returns a <code>Map</code>.  You have to provide <code>SqlOutParameter</code> to <code>executeFunction</code> and tell it the type to return.  Well I mapped the return to <code>MyCustomClass.class</code> and it is returning null.  I know the function will return 3 <code>BIGINT</code> out param values.  </p>
  
  <pre><code>public class MyDao {
      private final JdbcTemplate theTemplate;;
  
      //@Autowired ctor
  
      public long createCategory(final CategoryEntity category) {
          final SimpleJdbcCall jdbcCall = getJdbcCall();
  
          return mapResult(jdbcCall.executeFunction(MyResultEntity.class, fromEntity(category)));
      }
  
      private long mapResult(MyResultEntity result) {
          return result.getOut_id();//FAIL
      }
  
      private SqlParameterSource fromEntity(final MyEntity category) {
          Map&lt;String,Object&gt; params = new HashMap&lt;&gt;();
  
          params.put("in_name", category.getName());
          params.put("in_description", category.getDescription());
  
          SqlParameterSource result = new MapSqlParameterSource(params);
  
          return result;
      }
  
      private SimpleJdbcCall getJdbcCall() {
          //I need the value returned by "out_id"
          SimpleJdbcCall jdbcCall = new SimpleJdbcCall(theTemplate)
                  .withSchemaName("mySchema")
                  .withFunctionName("my_function")
                  .declareParameters(
                          new SqlOutParameter("out_id", Types.BIGINT),
                          new SqlOutParameter("out_2", Types.BIGINT),
                          new SqlOutParameter("out_3", Types.BIGINT)
                  );
  
                  return jdbcCall;
      }
  }
  </code></pre>