Почему я не могу получить идентификатор из PostgreSQL в Java?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Почему я не могу получить идентификатор из PostgreSQL в Java?

Сообщение Anonymous »

По какой-то причине я могу получить названия элементов категории, но не могу получить их идентификаторы, которые имеют значение NULL.
База данных (PostgreSQL 17)
CREATE TABLE Category (
Id BIGINT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
Name VARCHAR(255) NOT NULL UNIQUE
);

Java (Java 21)
public void create(Category category) throws SQLException {
String sql = "INSERT INTO Category (Name) VALUES (?)";
try (PreparedStatement statement = connection.prepareStatement(sql, PreparedStatement.RETURN_GENERATED_KEYS)) {
statement.setString(1, category.getName());
statement.executeUpdate();
try (ResultSet generatedKeys = statement.getGeneratedKeys()) {
if (generatedKeys.next()) {
category.setId(generatedKeys.getLong(1));
} else {
throw new SQLException("Failed to get generated ID for category.");
}
}
} catch (SQLException e) {
throw new SQLException("Error inserting category:" + category.getName(), e);
}
}


Подробнее здесь: https://stackoverflow.com/questions/793 ... ql-to-java
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»