No seu codigo, essas linhas abaixo não são necessárias
usuarioRN.buscarPorLogin(contextoBean.getUsuarioLogado().getLogin());
System.out.println(contextoBean.getUsuarioLogado().getLogin());
this.usuario.setSenha(senha);
e não esquece de substituir a linha
String senha = this.usuario.getSenha();
por
String senha = contexto.getUsuarioLogado().getSenha();
tiago_
Novembro 1, 2012, 8:33am
#22
Galera, resolvi o problema… O metodo final ficou assim:
public String atualizarSenha(){
ContextoBean contextoBean = ContextoUtil.getContextoBean();
FacesContext context = FacesContext.getCurrentInstance();
String senha = this.usuario.getSenha();
if (!senha.equals(this.confirmarSenha)) {
FacesMessage facesMessage = new FacesMessage(
"A senha não foi confirmada corretamente");
context.addMessage(null, facesMessage);
return null;
}
UsuarioRN usuarioRN = new UsuarioRN();
Usuario usuarioLogado= usuarioRN.buscarPorLogin(contextoBean.getUsuarioLogado().getLogin());
usuarioLogado.setSenha(senha);
usuarioRN.atualizar(usuarioLogado);
return null;
}
Tava faltando tb o @org.hibernate.annotations.NaturalId na classe Usuario.
...
@org.hibernate.annotations.NaturalId
@Column(name="login", length=45, nullable= true)
private String login;
...
Muito obrigado pela ajuda !
Abraços