★★Java質問・相談スレッド153★★
■ このスレッドは過去ログ倉庫に格納されています
0778Jolly Rogers ◆0tkoCr0voc
2012/05/13(日) 23:54:37.75Oracle 側での定義と、SQL でどう書いてるか分からんとなんとも。
参考 URL の通りだとすると、
・ORACLE は CHAR(n) で定義している(半角空白で後ろが埋まる、固定長文字列型)
・だから iBATIS は「Oracle の定義を考慮して」 String 型(文字列型)のパラメータを受け付ける
つもりで準備してる
・なのに char (文字型)渡されたってキャストできないんじゃゴルァ
ってなってるように思えるけど。
※だから「後ろに必要分だけ空白をつけた文字列」にしてあれば動いてるんじゃないのかね
少なくとも iBATIS が渡すパラメータは char じゃなくて String でないと駄目じゃないか?
で String だと CHAR との比較は失敗する(後ろの空白が不一致になるから)ので、どうしても
というなら >759 か、あるいは遅くなるの承知で trim(列名) = #parameter# にするか。
■ このスレッドは過去ログ倉庫に格納されています