Я работаю с базой данных Postgres в java с java.sql.Невозможно скопировать весь фрагмент из-за nda, но это выглядит так:
private final PostgresConnection postgresConnection = PostgresConnection.getInstance();
preparedStatement = postgresConnection.getConnection().
prepareStatement("Insert into someTable(someColumn) values(?) RETURNING id");
preparedStatement.setString(i, (String) someParam);
resultSet = preparedStatement.executeQuery();
resultSet.next();
ResultSetMetaData meta = resultSet.getMetaData();
LOGGER.info("column count {}", meta.getColumnCount());
LOGGER.info("column type {}", meta.isAutoIncrement(0));
Запрос выполняется в инструменте запросов нормально (PgAdmin 4).Возвращает один столбец, один результат строки.Тем не менее, в Java, набор результатов отказывается дать мне что-нибудь.в приведенном выше коде последняя строка meta.isAutoIncrement(0)
, аналогичная resultSet.getInt(0)
, выдает ту же ошибку, которая не имеет смысла для меня:
The column index is out of range: 0, number of columns: 1.
Это похоже на то, что массив столбцов тайно пуст, хотя resultSetне знает об этом.