testテーブルのstringsがvarcharの配列型(要素数3)の時、
Java、SpringBootのJdbcTemplateでinsertする方法がわかりません。
java
1ArrayList<String> strings = new ArrayList<>(); 2strings.add("a"); 3strings.add("b"); 4strings.add("c"); 5jdbcTemplate("insert into test(strings) values(?)", strinings);
output
1PreparedStatementCallback; bad SQL grammar [insert into test(strings) values(?)]; 2nested exception is org.postgresql.util.PSQLException: 3java.util.ArrayList のインスタンスに対して使うべきSQL型を推測できません。 4明示的な Types 引数をとる setObject() で使うべき型を指定してください。"
strings列にArrayListのstringsを入れたいのですが、上記のようなエラーが表示されます。
エラーの内容も見たことが無いため理解ができませんでした。
一応、以下のようにプレースホルダを要素数分べた書きすることで挿入することはできましたが、
列指定とプレースホルダは1つで挿入する方法が知りたいです。
jdbcTemplate("insert into test(strings[0], strings[1], strings[2]) values(?)", strinings.get(0), strinings.get(1), strinings.get(2));
あなたの回答
tips
プレビュー