[Seasar-user:12581] Re: 【S2Dao】ファンクションでのカーソルについて

Toshihiro Nakamura [E-MAIL ADDRESS DELETED]
2008年 1月 21日 (月) 15:09:24 JST


中村(taedium)です。

> Oracleのカーソルを戻すことはできないのでしょうか?よろしくお願いします。

残念ながらS2DaoではOracleのカーソルはサポートしていません。

代替案ですが、
S2Container 2.4.20を使っているとのことですので、
Oracleのカーソルを使うところだけS2JDBCの
機能をつかってはどうでしょうか?
S2JDBCではサポートしています。

# ただし、S2-Tigerが必要になります。

使い方を簡単に紹介すると次のようになります。
(1-3は設定の説明。4が実装の話になります。)

1.s2jdbc.diconのdialectプロパティをoracleDialectに変更する。

2.s2jdbc.diconをDaoから見える設定ファイルで
 (SMART deployを使っているならapp.dicon)にincludeする。

3.convention.diconに次の記述を追加する。

<component
class="org.seasar.framework.convention.impl.PersistenceConventionImpl"/>

4.Daoの実装クラスを用意し、jdbcManagerをDIして
  ファンクションを呼び出しているメソッドでjdbcManagerを使って
  ファンクションを実行する。

public JdbcManager jdbcManager;

public List<Employee> getAllEmployees() {
  return jdbcManager
            .call(Employee.class, "SCOTT.test_return")
            .getResultList();
}

詳しくはこちらをどうぞ。

http://s2container.seasar.org/2.4/ja/s2jdbc_setup.html
http://s2container.seasar.org/2.4/ja/s2jdbc_manager_auto.html#ストアドファンクションの呼び出し
-- 
Nakamura Toshihiro <[E-MAIL ADDRESS DELETED]>



Seasar-user メーリングリストの案内