Я ожидаю, что возвращаемый вами "ключ", который выглядит как строка, - это ROWID
- это единственный ключ, который база данных генерирует напрямую.Вы должны иметь возможность изменить это, чтобы получить обратно столбец id
(для этого, вероятно, требуется умеренно последняя версия драйвера JDBC).
//initiate connection, statement etc
String generatedColumns[] = {"ID"};
pStatement = connection.prepareStatement(SQL, generatedColumns);
pStatement.setString(1,'blabla');
pStatement.executeUpdate();
ResultSet rs = pStatement.getGeneratedKeys();
while (rs.next()){
//debugging here to see what rs has
}
Вы также можете изменить свой запрос, чтобы явно добавить RETURNING
пункт
String SQL = "insert into table (id, name) " +
" values (sequence.nextval, ?) " +
" returning id into ?";