У меня есть следующий код JDBC. Обратите внимание, что я пытаюсь использовать географию PostGIS:
PreparedStatement stmt = db.prepareStatement("INSERT INTO " +
"source_imagery (image_path, boundary, image_time)" +
" VALUES (?, ST_GeographyFromText('POLYGON((" +
"? ?, ? ?, ? ?, ? ?))'), ?)");
stmt.setString(1, file.getAbsolutePath());
stmt.setDouble(2, bounds.getY());
stmt.setDouble(3, bounds.getX());
...
Я получаю следующее исключение в последней строке кода:
org.postgresql.util.PSQLException: The column index is out of range: 3, number of columns: 2.
Я понимаю, что он думает, что у меня там только 2 параметра, но вы можете видеть, что я предполагал, что их будет 10. Я не уверен, почему он не читает ни один из параметров в POLYGON
. Я знаю, что этот оператор SQL работает, если я использую его непосредственно в базе данных, но я не уверен, что мне нужно изменить, чтобы он работал в моем коде Java. Есть идеи?