Le printemps de la Procédure Stockée - résultats de revenir à une procédure toujours vide

Je suis à l'aide du Printemps JdbcTemplate et StoredProcedure classes. J'ai de la difficulté à obtenir la procédure stockée classe pour travailler pour moi.

J'ai une procédure stockée sur une base de données oracle. Sa signature est

CREATE OR REPLACE PROCEDURE PRC_GET_USERS_BY_SECTION
(user_cursor OUT Pkg_Types.cursor_type
 , section_option_in IN Varchar2
 , section_in IN Varchar2) AS ....

TYPE cursor_type IS REF CURSOR;

J'ai créer la procédure stockée suivante classe pour obtenir des informations à partir de l'oracle de la procédure

    private class MyStoredProcedure extends StoredProcedure 
{
    public MyStoredProcedure(JdbcTemplate argJdbcTemplate) 
    {
        super(argJdbcTemplate, "PRC_GET_USERS_BY_SECTION");
        declareParameter(new SqlOutParameter("output", OracleTypes.CURSOR));
        declareParameter(new SqlParameter("input1", Types.VARCHAR));
        declareParameter(new SqlParameter("input2", Types.VARCHAR));
        compile();          
    }


    public Map<String, Object> execute() {

        Map<String, Object> inParams = new HashMap<String, Object>();
        inParams.put("input1", "BG");
        inParams.put("input2", "FE");
        Map output = execute(inParams);
        return output;
    }
}

Je suis à l'appel de cette dans une méthode dans une de mes classes DAO

    public List<String> getUserListFromProcedure() throws BatchManagerException
{
    MyStoredProcedure sp = new MyStoredProcedure( this.jdbcTemplate );
    Map<String, Object> result = new HashMap<String, Object>();
    try
    {
        result = sp.execute();
    }

    catch( DataAccessException dae) 
    {

    }
    System.out.println(result.size());
    return null;
}

Cependant la taille de la carte est toujours à 0, de sorte que rien ne revient. Je sais qu'il y a de lignes dans la base de données qui correspondent à mes critères d'entrée. Aussi, j'ai eu le code de travail qui a utilisé java.sql.CallableStatement pour interagir avec le proc stockée oracle - de sorte que le proc est bon. Est-il tort de mélanger les OraceleTypes.CURSOR avec le Printemps de la Procédure Stockée? Quoi d'autre puis-je utiliser? J'ai aussi essayé SqlReturnResultSet et qui ne fonctionne pas non plus.

OriginalL'auteur aos | 2010-01-28