[Seasar-user:17250] [S2JDBC]OracleプロシジャでNUMBER型NULLの受け取り

k wazze [E-MAIL ADDRESS DELETED]
2009年 4月 13日 (月) 17:38:01 JST


wazzeと申します。
いつも参考にさせてもらっています。

Oracle のストアドプロシジャを呼び出していますが、
NUMBER型のOUT引数にNULL値を復帰すると、
  ・Integer型で受け取ると 0 になってしまう
  ・BegDecimal等で受け取ると、ちゃんと nullになる
  ・ResultSet の要素として受け取る場合は、Integer でも null になる
という現象が発生しています。
Integer でも null で受け取る方法があるのでしょうか?


プロシジャ
----------------------------------------------------------------------------------------------------
CREATE OR REPLACE PROCEDURE TEST (P_status OUT NUMBER)
IS
BEGIN
    P_status := NULL;
END TEST;
/
----------------------------------------------------------------------------------------------------

DTO
----------------------------------------------------------------------------------------------------
import org.seasar.extension.jdbc.annotation.Out;
public class TestParaDto {
	@Out
	public Integer status;
}
----------------------------------------------------------------------------------------------------

Service
----------------------------------------------------------------------------------------------------
public void test(TestParaDto dto) {
    jdbcManager.call("test", dto).execute();
}
----------------------------------------------------------------------------------------------------


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