Estou com uma aplicação que utiliza webwork e hibernate. Após receber os dados do formulário e setar outros valores em algumas propriedades não são persistidos os campos que são alterados no controlador.
segue o código:
UsuarioDAO daoUsuario = DAOFactory.getDefaultInstance().getUsuarioDAO();
GenericDAOFactory<Perfil> fac2 = new GenericDAOFactory<Perfil>(
Perfil.class, GenericDAOFactory.HIBERNATE);
DAO<Perfil> daoPerfil = fac2.getGenericDAO();
GenericDAOFactory<Municipio> fac3 = new GenericDAOFactory<Municipio>(
Municipio.class, GenericDAOFactory.HIBERNATE);
DAO<Municipio> daoMunicipio = fac3.getGenericDAO();
Usuario tmp = daoUsuario.carrega(usuario.getLogin());
String result = "success";
// Esse login j� existe!!!
if (tmp != null) {
erro = "O login que você escolheu já existe. Por favor, retorne à etapa de cadastramento e escolha outro login.";
return "erro_login_existente";
}
if (!usuario.getSenha().equalsIgnoreCase(senha2)) {
erro = "A senha que você forneceu não confere com a senha confirmada. Por favor, volte para seu cadastro, digite novamente sua senha e confirme corretamente.";
return "erro_insercao";
}
usuario.setSenha(getDigest(usuario.getSenha().toLowerCase()));
usuario.setNivel(new Nivel());
endereco.setEstado(Estado.valueOf(estado));
endereco.setMunicipio(daoMunicipio.carrega(new Long(municipio)));
/*
* Coloca o perfil desejado no campo de observação para que quando o
* usuário for liberado seja verificado se é possível ou não o usuário
* ter este perfil
*/
if (!perfil.equals("-1")) {
usuario.setObservacao(usuario.getObservacao()
+ " perfil desejado: "
+ daoPerfil.carrega(new Long(perfil)).getNome());
result = "configura_nivel";
}
/*
* Busca o perfil pendente (da AdminServlet.PENDENTES e grava o usuario
* com esse perfil
*/
List<Criterion> crits = new LinkedList<Criterion>();
crits.add(Expression.ilike("nome", AdminServlet.PENDENTES));
List<Perfil> perfis = daoPerfil.listarSemPermissao(crits);
Set<Perfil> perfisSet = new HashSet<Perfil>();
if (perfis.size() > 0) {
perfisSet.add(perfis.get(0));
usuario.setPerfis(perfisSet);
}
usuario.setEndereco(endereco);
usuario.setAtivo(false);
id = daoUsuario.salva(usuario).longValue();
return result;
por favor me ajudem se puderem...