#spring #spring-boot #jpa
#весна #пружинный ботинок #jpa
Вопрос:
У меня возникли проблемы с пониманием того, в какой момент сохранить мой пароль в базе данных.
Я делал это в пользовательском сервисе, но это приводит к повторному хэшированию пароля при сохранении, поэтому я не могу обновить своего пользователя с помощью CRUD.
Я знаю, что не должен делать этого на Службе, но где же тогда? Могу ли я сделать это в установщике в User Entity?
Я получаю и сохраняю своих пользователей в репозитории пользователей.
Ответ №1:
То, как я делал это раньше, — это наличие 3 отдельных методов в вашем пользовательском сервисе с именем CreateUser, один с именем UpdateUser, а другой с именем updatePassword.
Только CreateUser и updatePassword установят хэш пароля. UpdateUser сначала извлекает пользователя из базы данных, а затем обновляет все поля, кроме пароля.