В какой момент сохранить пароль к базе данных при загрузке Spring

#spring #spring-boot #jpa

#весна #пружинный ботинок #jpa

Вопрос:

У меня возникли проблемы с пониманием того, в какой момент сохранить мой пароль в базе данных.

Я делал это в пользовательском сервисе, но это приводит к повторному хэшированию пароля при сохранении, поэтому я не могу обновить своего пользователя с помощью CRUD.

Я знаю, что не должен делать этого на Службе, но где же тогда? Могу ли я сделать это в установщике в User Entity?

Я получаю и сохраняю своих пользователей в репозитории пользователей.

Ответ №1:

То, как я делал это раньше, — это наличие 3 отдельных методов в вашем пользовательском сервисе с именем CreateUser, один с именем UpdateUser, а другой с именем updatePassword.

Только CreateUser и updatePassword установят хэш пароля. UpdateUser сначала извлекает пользователя из базы данных, а затем обновляет все поля, кроме пароля.