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