Passando Parametros para instrução SQL

Fala pessoal.

To com uma duvida aqui acredito q basca.
Estou usando CallableStatement para chamar uma procedure do banco de dados Oracle, e inform os parametros com ?, queria saber se tem uma forma de passar o nome do parametro ao invés de ?.
Pois na hora q vou setar o parametro aparece a opção para colocar o indice do parametro ou o nome do parametro.
Mas ja fiz varios testes e não tive sucesso.

se alguem souber por favor.

Valeu!!!

Bom dia

Cara quando trabalhava com procedures no oracle, eu utilizava dessa maneira:

String sql = "{call SP_AUTENTICA_USUARIO(?,?,?,?,?,?,?,?)}";
			
cs = conn.prepareCall(sql);  

cs.setString(1, nmEmail);
cs.setString(2, nmSenha);
cs.registerOutParameter(3, OracleTypes.NUMBER); 
cs.registerOutParameter(4, OracleTypes.VARCHAR); 
cs.registerOutParameter(5, OracleTypes.VARCHAR); 
cs.registerOutParameter(6, OracleTypes.VARCHAR); 
cs.registerOutParameter(7, OracleTypes.VARCHAR); 
cs.registerOutParameter(8, OracleTypes.CURSOR); 

cs.execute(); 

int idUsuario          = cs.getInt(3);
String nmUsuario   = cs.getString(4);
String dtUltAcesso  = cs.getString(5);
String flTpUsr	    = cs.getString(6);
String msg             = cs.getString(7);

Espero ter ajudado.

Falou.

Então cara foi assim q eu passei meus parametros.

Mais a miha pergunta foi a seguinte, ao invés de passar os parametros como “?”, se tem como eu passar o nome dos parametros.

Pq por exemplo, tenho minha procedure que tem varios parametros e passo como “?” os parametros e se caso alguem for lá na procedure no banco de dados e inserir um novo parametro no meio dos outros parametros terei que mexer na minha aplicação.
Não se se deu pra entender…

Quando eu estou setando os parametros como esse exemplo seu.
cs.setString(2, nmSenha);
o método setString ou setInt… etc…
deixa eu colocar o nome do parametro… não sei se vc viu…

Se não deu pra entender fala aí q coloco meu código.

Valeu…

Ninguém???