Как в java при добавлении новой записи в базу данных SQLite вернуть id (автоинкремент) именно этой записи?
Моё многопользовательское приложение работает с базой данных SQLite. При создании объекта, запись добавляется в базу данных, но так как объект содержит поле id и он формируется базой данных, мне нужно возвращать id из бд при создании записи, чтобы присвоить его объекту на клиенте, чтобы постоянно не обновлять все объекты из бд. Подскажите верный способ, чтобы бд возвращала гарантировано id именно этой записи, а не последней созданной. Спасибо.
В том же запросе Statement или PreparedStatement используйте примерно такую конструкцию:
try (ResultSet generatedKeys = statement.getGeneratedKeys()) {
if (generatedKeys.next()) {
long id = generatedKeys.getLong(1);
}
else {
throw new SQLException("No ID obtained");
}
}