0

SQL IN ステートメントで arraylist を渡そうとすると、文字列ではなくメモリ ロケーションとして渡されます。

SELECT Pid FROM details WHERE number IN (" +  tempArrayList.toString().replaceAll("\\[(.*?)\\]", "$1") + ")" ;

しかし、問題の説明で述べたように、印刷されます

SELECT part_id FROM parts_details WHERE part_number IN ([Ljava.lang.Object;@7bb11784, [Ljava.lang.Object;@1ae369b7)

私はいくつかの代替案を試しました

  1. を使用して配列文字列を作成しましたStringUtils.Join(tempArrayList.iterator())
  2. Arrays.toString(tempArrayList.get(0)).replaceAll("[\\[\\]]", "") + "','"
4

0 に答える 0