基になるデータが同じであっても、パラメーターを異なる方法で定義する 2 つのプロシージャが oracle にあります。コードでは、整数として表します。
procedure GetByNum(..., vRegionID in number, ...)
procedure GetByInt(...., vRegionID in integer, ...)
Javaでは常にフィールドを整数として定義します(そしてdbでも)
public Integer getRegionID() {
return 100;
}
これを(Javaで)integer
同じを使用して両方のプロシージャに渡す方法はありOracleTypes.*
ますか? カスタムベースラッパーを使用して、org.springframework.jdbc.object.StoredProcedure
両方を呼び出します。ストアド プロシージャの変更は現時点では許可されていないため、あとは Java を修正するだけです。
- あなたはprocに合格でき
getRegionID
ますかOracleTypes.NUMBER
?getByInt
- を期待する
OracleTypes.INTEGER
に渡すことができますか?getByNum
in number
- 別の魔法の方法?
これは単純に思えるかもしれませんが、このようにパラメーターを変更することは許可されていないと思います。それが真実ではないことを願っています!
編集:
- 働い
OracleTypes.INTEGER
たに渡すために使用するprocedure ... (param in number)
- これが環境固有のものかどうかはわかりませんが、
不測の問題を心配することなく新しいラッパーの使用を開始できるように、決定的な回答を期待しています。