В настоящее время я занимаюсь разработкой сайта социальной сети и в настоящее время реализую часть, в которой пользователь может изменить свой пароль.Я использую менеджер сущностей, чтобы обновить содержимое базы данных новым паролем.Ниже приведен код для реализации.
final Implementation user = em.find(Implementation.class, username);
if((user!=null) && user.getPassword().equals(hash(username,oldPassword))){
user.setPassword(hash(username,newPassword));
em.refresh(user);
}else{
throw new ChangePasswordException();
}
, однако, когда я пытаюсь снова войти в систему, необходимо использовать более старый пароль, в противном случае, если будет введен новый пароль, он скажет вам: пароли не совпадают,Кто-нибудь знает, может быть, почему это происходит?Я попытался сначала удалить пользователя из базы данных, а затем снова сохранить нового пользователя.Однако было сгенерировано исключение EJB, поскольку имя пользователя не было уникальным, поскольку пользователь не был удален из базы данных.
Большое спасибо за вашу помощь