Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Chamando uma função PL SQL com parâmetro de objeto em java


Crie o tipo no bloco PL/SQL anônimo (em vez de em Java) e passe os valores:
CallableStatement st = con.prepareCall("BEGIN ? := ADD_ADDRESS_FUNC( Address_Type(?,?,?,?)); END;");

st.registerOutParameter( 1, Types.INTEGER );
st.setString( 2, "Address 1" );
st.setString( 3, "Address 2" );
st.setString( 4, "Town" );
st.setString( 5, "County" );

st.execute();
int id = st.getInt(1);

A alternativa é usar o JPublisher para gerar o Endereço class para que possa ser passado de/para o banco de dados.