回答編集履歴
2
typo
answer
CHANGED
@@ -4,6 +4,8 @@
|
|
4
4
|
|
5
5
|
`requestkbn IN(CAST(:requestkbn AS INTEGER)))`の部分は、requestkbnに対応する値がひとつのときは`requestkbn IN(CAST(? AS INTEGER)))`となり、requestkbnに対応する値がふたつあると`requestkbn IN(CAST(?, ? AS INTEGER)))`となる。これは、ログ出力の結果から。
|
6
6
|
|
7
|
+
エラーメッセージにもそのように出力されている`... requestkbn IN(CAST(?, ? AS INTEGER))) order by ?]; nested exception is org.postgresql.util.PSQLException`
|
8
|
+
|
7
9
|
`Set<Integer> rkKbnSet = new HashSet<>();`ということなので、設定する値はInteger型。であれば、キャストは不要なのでは?
|
8
10
|
|
9
11
|
だから`requestkbn IN(:requestkbn)`とすればいいのではないかと。
|
1
修正
answer
CHANGED
@@ -1,1 +1,9 @@
|
|
1
|
-
rkKbnSet の要素数がふたつあるなら、 `requestkbn IN(CAST(:requestkbn AS INTEGER)))` の部分を `requestkbn IN(CAST(:aa AS INTEGER), CAST(:bb AS INTEGER)))` となるようなSQL文を組み立てて、値はの設定を `.addValue("aa", rkKbnSet.get(0)).addValue("bb", rkKbnSet.get(1))` となるようにすればいいのでは。
|
1
|
+
~~rkKbnSet の要素数がふたつあるなら、 `requestkbn IN(CAST(:requestkbn AS INTEGER)))` の部分を `requestkbn IN(CAST(:aa AS INTEGER), CAST(:bb AS INTEGER)))` となるようなSQL文を組み立てて、値はの設定を `.addValue("aa", rkKbnSet.get(0)).addValue("bb", rkKbnSet.get(1))` となるようにすればいいのでは。~~
|
2
|
+
|
3
|
+
上記は取り消し。内容を訂正します。
|
4
|
+
|
5
|
+
`requestkbn IN(CAST(:requestkbn AS INTEGER)))`の部分は、requestkbnに対応する値がひとつのときは`requestkbn IN(CAST(? AS INTEGER)))`となり、requestkbnに対応する値がふたつあると`requestkbn IN(CAST(?, ? AS INTEGER)))`となる。これは、ログ出力の結果から。
|
6
|
+
|
7
|
+
`Set<Integer> rkKbnSet = new HashSet<>();`ということなので、設定する値はInteger型。であれば、キャストは不要なのでは?
|
8
|
+
|
9
|
+
だから`requestkbn IN(:requestkbn)`とすればいいのではないかと。
|