таблицами: users и tokens. Таблица tokens выглядит так: id, token, user_id. user_id и token имеют constraint-ы unique. В итоге, получается связь OneToOne. В моем сервисе в spring я сначала удаляю токен по user-y, а потом добавляю новый токен с таким же user-ом. В итоге, вылетает ошибка Violation of UNIQUE KEY constraint. Как я понял, это из-за того, что hibernate сначала делает операции добавления, а потом только удаляет. Что мне сделать, чтобы все ок работало и не падал runtime exception? Может, как-то переделать таблицы? Спасибо
Flush после удаления
Если связь 1-1 почему не держать токены юзера в таблице юзерс? Тогда можно просто апдейтить токен в таблице без этого лишнего удаления
Токены не всегда есть
Ну и пусть )
Спасибо. Работает. А нет какого-то более лучшего способа?
Вообще оно должно успешно работать в одной транзакции вроде..) есть @Transactional?
Да. Но он же сначала добавляет колонки, а потом удаляет. По этому и не работает
Обсуждают сегодня