我想执行以下查询:
SELECT * FROM public.table1 WHERE arrcol @> ARRAY['someinf'];
为了做到这一点,我在 java.sql.Statement 中尝试了 2 种不同的方法:
query = conn.prepareStatement("SELECT * FROM public.table1 WHERE
arrcol @>?;"); query.setArray(1, conn.createArrayOf("text", new
String[]{id})); // "id" is a string
和
query = conn.prepareStatement("SELECT * FROM public.table1 WHERE
arrcol @> ARRAY[?];"); query.setString(1, id); // "id" is a string
当我尝试使用 toString() 在这些行之后转储原始 sql 时,我看到查询仍然相同。如何使用准备好的语句实现这一点?