Hibernate でのストアドプロシージャの実行方法(例)

2010/06/17 14:48Update
TAGS: Hibernate | プロシージャ | ストアドプロシージャ | procedure

Hibernateでストアドプロシージャを利用したい場合しばしばあります。本文はその利用方法や手順について簡単に解説します。

1)データベースにストアドプロシージャを登録


ストアドプロシージャの定義例:
create or replace PROCEDURE  procedureName (
in_param IN varchar2,
out_param OUT NUMBER
)
is
cnt NUMBER;
BEGIN
--ストアドプロシージャ本体はここに
END;
  ※ストアドプロシージャの定義及びその他登録方法について、利用される各データベースのマニュアルをご参照ください。

2)ストアドプロシージャの呼び出し


例:
//Sessionインスタンスを取得
Session session = ...;    

CallableStatement st = session.connection().prepareCall("{CALL procedureName(?, ?) }");
//procedureName:定義済みのストアドプロシージャの名前
//?:パラメータ。

st.setString("in_param", getLimitDate()); // IN パラメータ設定
st.registerOutParameter("out_param", java.sql.Types.INTEGER);    //OUT パラメータ設定

// ストアドプロシージャ実行
st.execute();


//ストアドプロシージャ戻り値の取得
Integer outParam = (Integer)st.getObject("out_param");

.

有关作者
Syboos.jp編集長システム設計や開発、保守運営などを行ってます。オープンソース技術に興味があります。

Sponsored Link


Comments