Использую Spring Data Jdbc. Сохраняю объект через метод репозитория
CrudRepository#save
. Вылетает эксепшен
org.springframework.dao.IncorrectUpdateSemanticsDataAccessException: Failed to update entity [UserCoordinatesEntity(userId=1, latitude=49.999761199999995, longitude=36.2435298)]. Id [1] not found in database.
Натолкнулся в доке и в статье, что Spring Data Jdbc определяет, новый ли объект энтити через свой механизм, описанный здесь
https://habr.com/ru/company/otus/blog/526030/.
Я не понимаю, почему нужно дополнительно что-то делать, чтоб спринг дата жидибиси понял, что объект новый или нет.
Похоже на шизу со стороны разработчиков. Нельзя было сделать 2 метода saveNew и update?
В итоге чтоб сохранить новый объект в базу, нужно иметь 2 класса одной и той же энтити, ок? Одна помеченная аннотацией
Persistable
, а другая нет