この例は、 Oracle function from Hibernateです。ソリューションでは次のように説明しています。Javaで囲んでいるクラスに値を戻す方法は?
int result = call.getInt(1); // propagate this back to enclosing class
どのようにこれを行うことができますか?
この例は、 Oracle function from Hibernateです。ソリューションでは次のように説明しています。Javaで囲んでいるクラスに値を戻す方法は?
int result = call.getInt(1); // propagate this back to enclosing class
どのようにこれを行うことができますか?
これは、ストアドプロシージャの出力パラメータについて説明しています。表示されたリンクは、実際にStoredプロシージャを呼び出して、PrepareCallからの出力パラメータを正常に実行した後に取得しています。
このためには、出力パラメータがSPでどのように機能するかを理解する必要があります。ここで
ではなくint型の文字列を返すの例だと囲むクラスに
String results = sessionFactory.getCurrentSession().doReturningWork(
new ReturningWork<String>() {
public String execute(Connection connection) throws SQLException {
CallableStatement call = connection.prepareCall("{ ? = call emb_copy_tool_fc(?,?,?) }");
call.registerOutParameter(1, Types.VARCHAR); // or whatever it is
call.setString(2, t_order_headers_id);
call.setString(3, t_new_order_headers_id);
call.setString(4, p_by);
call.execute();
String result = call.getString(1); // propagate this back to enclosing class
return result;
}
});
をこのバックを伝播なぜ単に囲むクラスのクラスフィールドに渡していませんか? –