JSF+Hibernation

Boa noite Pessoal!

Tenho uma dúvida, tenho um CRUD que o comando editar está na verdade fazendo um novo cadastro favor me ajudar a indentificar o problema segue abaixo códigos. Obrigado

Lembrando que sou iniciante…

CODIGO ANUNCIANTEACTION

package br.com.classificado.action;

import java.io.IOException;
import java.util.Date;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import br.com.classificado.api.dao.InterfaceDAO;
import br.com.classificado.bean.Anunciante;
import br.com.classificado.bean.Cidade;
import br.com.classificado.bean.Contato;

import br.com.classificado.bean.Estado;
import br.com.classificado.bean.Usuario;
import br.com.classificado.persistence.AnuncianteDAO;
import br.com.classificado.persistence.CidadeDAO;
import br.com.classificado.persistence.ContatoDAO;

import br.com.classificado.persistence.EstadoDAO;
import br.com.classificado.persistence.UsuarioDAO;

public class AnuncianteAction implements InterfaceAction{
private InterfaceDAO dao;

public InterfaceDAO<Anunciante> getDao() {
	if(dao == null){
		dao = new AnuncianteDAO();
	}
	return dao;
}

public String execute(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {

    String action = request.getParameter("method");

    if (action.equals("novo")) {
        request.setAttribute("objAnunciante", new Anunciante());
        //List<Endereco> enderecos = (List<Endereco>) new EnderecoDAO().getAll();
        //request.setAttribute("listEndereco", enderecos);
        List<Estado> estados = (List<Estado>)new EstadoDAO().getAll();
        request.setAttribute("listEstado", estados);
        List<Cidade> cidades = (List<Cidade>)new CidadeDAO().getAll();
        request.setAttribute("listCidade", cidades);
        List<Contato> contatos = (List<Contato>) new ContatoDAO().getAll();
        request.setAttribute("listContato", contatos);
        List<Usuario> usuarios = (List<Usuario>)new UsuarioDAO().getAll();
        //request.setAttribute("listUsuario", usuarios);
                   
        return "cadastro_anunciante.jsp";
    }
    if (action.equals("listar")) {
    	List<Anunciante> anunciantes = (List<Anunciante>) getDao().getAll();
        request.setAttribute("lstAnunciante", anunciantes);
    	//List<Endereco> enderecos = (List<Endereco>) new EnderecoDAO().getAll();
        //request.setAttribute("listEndereco", enderecos);
        List<Contato> contatos = (List<Contato>) new ContatoDAO().getAll();
        request.setAttribute("listContato", contatos);
        List<Usuario> usuarios = (List<Usuario>)new UsuarioDAO().getAll();
        request.setAttribute("listUsuario", usuarios);
        List<Estado> estados = (List<Estado>)new EstadoDAO().getAll();
        request.setAttribute("listEstado", estados);
        List<Cidade> cidades = (List<Cidade>)new CidadeDAO().getAll();
        request.setAttribute("listCidade", cidades);
        
    
        dao = null;
        return "consulta_anunciante.jsp";
    }
    if (action.equals("salvar")) {
    	Anunciante anunciante = getAnunciante(request);
    	getDao().save(anunciante);
        request.setAttribute("msg", "Anunciante cadastrado com sucesso!!!");
        request.setAttribute("objAnunciante", new Anunciante());
        dao = null;
        return "./AnuncianteSV?action=anunciante&method=listar";
        
    }
    if (action.equals("atualizar")) {
    	Anunciante anunciante = getAnunciante(request);
    	getDao().update(anunciante);
        request.setAttribute("msg", "Anunciante atualizado com sucesso!!!");
        request.setAttribute("objAnunciante", new Anunciante());
        dao = null;
        return "./AnuncianteSV?action=anunciante&method=listar";
    }
    if (action.equals("excluir")) {
    	Anunciante anunciante = new Anunciante();
    	anunciante.setId(Long.parseLong(request.getParameter("id")));
        getDao().delele(anunciante);
        request.setAttribute("lstAnunciantes", getDao().getAll());
        dao = null;
        return "./AnuncianteSV?action=anunciante&method=listar";
    }
    
    if (action.equals("editar")) {
    	System.out.println("teste");
        long id = Long.parseLong(request.getParameter("id"));
        request.setAttribute("objAnunciante", getDao().get(id));
        List<Contato> contatos = (List<Contato>) new ContatoDAO().getAll();
        request.setAttribute("listContato", contatos);
        List<Usuario> usuarios = (List<Usuario>)new UsuarioDAO().getAll();
        request.setAttribute("listUsuario", usuarios);
        //List<Endereco> enderecos = (List<Endereco>) new EnderecoDAO().getAll();
        //request.setAttribute("listEndereco", enderecos);
        List<Estado> estados = (List<Estado>)new EstadoDAO().getAll();
        request.setAttribute("listEstado", estados);
        List<Cidade> cidades = (List<Cidade>)new CidadeDAO().getAll();
        request.setAttribute("listCidade", cidades);
        
        dao = null;
        return "atualizar_anunciante.jsp";
   }
    return "index.jsp";
}

private Anunciante getAnunciante(HttpServletRequest request) {
    Anunciante anunciante = new Anunciante();
    anunciante.setContato(new Contato());
    anunciante.setUsuario(new Usuario());
    anunciante.setCidade(new Cidade());
    anunciante.getCidade().setEstado(new Estado());
  
    anunciante.setId((request.getParameter("id")!=null) ? Long.parseLong(request.getParameter("id")) : 0 );
    anunciante.setNome(request.getParameter("nome"));
    anunciante.setCpf(request.getParameter("cpf"));
    anunciante.setRg(request.getParameter("rg"));
    anunciante.setSexo(request.getParameter("sexo"));
    anunciante.setDataNascimento(new Date(request.getParameter("dataNascimento"))); //2011-08-11
    anunciante.setLogradouro(request.getParameter("logradouro"));
    anunciante.setNumero(request.getParameter("numero"));
    anunciante.setComplemento(request.getParameter("complemento"));
    anunciante.setBairro(request.getParameter("bairro"));
    // informações cidade e estado
    anunciante.getCidade().setId(Long.parseLong(request.getParameter("idcidade")));
    anunciante.getCidade().getEstado().setId(Long.parseLong(request.getParameter("idestado")));
    //Informações Contato
    anunciante.getContato().setTipotelefone(request.getParameter("tipotelefone"));
    anunciante.getContato().setTelefone(request.getParameter("telefone"));
    anunciante.getContato().setEmail(request.getParameter("email"));
    //Informações Usuario(Login)
    anunciante.getUsuario().setPerfil(request.getParameter("perfil"));
    anunciante.getUsuario().setNome(request.getParameter("nome"));
    anunciante.getUsuario().setLogin(request.getParameter("login"));
    anunciante.getUsuario().setSenha(request.getParameter("senha"));
    
           
   return anunciante;
}

private boolean salvar(HttpServletRequest request) {
    boolean isOk = false;
    Anunciante anunciante = new Anunciante();
    anunciante.setContato(new Contato());
    anunciante.setUsuario(new Usuario());
    anunciante.setCidade(new Cidade());
    anunciante.getCidade().setEstado(new Estado());
  
    anunciante.setId((request.getParameter("id")!=null) ? Long.parseLong(request.getParameter("id")) : 0 );
    anunciante.setNome(request.getParameter("nome"));
    anunciante.setCpf(request.getParameter("cpf"));
    anunciante.setRg(request.getParameter("rg"));
    anunciante.setSexo(request.getParameter("sexo"));
    anunciante.setDataNascimento(new Date(request.getParameter("dataNascimento"))); //2011-08-11
    anunciante.setLogradouro(request.getParameter("logradouro"));
    anunciante.setNumero(request.getParameter("numero"));
    anunciante.setComplemento(request.getParameter("complemento"));
    anunciante.setBairro(request.getParameter("bairro"));
    // informações cidade e estado
    anunciante.getCidade().setId(Long.parseLong(request.getParameter("idcidade")));
    anunciante.getCidade().getEstado().setId(Long.parseLong(request.getParameter("idestado")));
    //Informações Contato
    anunciante.getContato().setTipotelefone(request.getParameter("tipotelefone"));
    anunciante.getContato().setTelefone(request.getParameter("telefone"));
    anunciante.getContato().setEmail(request.getParameter("email"));
    //Informações Usuario(Login)
    anunciante.getUsuario().setPerfil(request.getParameter("perfil"));
    anunciante.getUsuario().setNome(request.getParameter("nomeusuario"));
    anunciante.getUsuario().setLogin(request.getParameter("login"));
    anunciante.getUsuario().setSenha(request.getParameter("senha"));
   
    if (anunciante.getId() == 0) {
    	try{
    		getDao().save(anunciante);
    		isOk = true;
    	}catch(Exception e){
    		e.printStackTrace();
    	}
    } else {
    	try{
    		getDao().update(anunciante);
    		isOk = true;
    	}catch(Exception e){
    		e.printStackTrace();
    	}
    }
    return isOk;
}

}

ANUNCIANTE (BEAN)

package br.com.classificado.bean;

import java.io.Serializable;
import java.util.Date;

@SuppressWarnings(“serial”)
public class Anunciante implements Serializable {
private Long id;
private String nome;
private String cpf;
private String rg;
private String sexo;
private Date dataNascimento;
private String logradouro;
private String numero;
private String complemento;
private String bairro;

// Objects
private Contato contato;
private Usuario usuario;
private Cidade cidade;

public Anunciante() {
	// TODO Auto-generated constructor stub
}

public Long getId() {
	return id;
}

public void setId(Long id) {
	this.id = id;
}

public String getNome() {
	return nome;
}

public void setNome(String nome) {
	this.nome = nome;
}

public String getCpf() {
	return cpf;
}

public void setCpf(String cpf) {
	this.cpf = cpf;
}

public String getRg() {
	return rg;
}

public void setRg(String rg) {
	this.rg = rg;
}

public String getSexo() {
	return sexo;
}

public void setSexo(String sexo) {
	this.sexo = sexo;
}

public Date getDataNascimento() {
	return dataNascimento;
}

public void setDataNascimento(Date dataNascimento) {
	this.dataNascimento = dataNascimento;
}

public String getLogradouro() {
	return logradouro;
}

public void setLogradouro(String logradouro) {
	this.logradouro = logradouro;
}

public String getNumero() {
	return numero;
}

public void setNumero(String numero) {
	this.numero = numero;
}

public String getComplemento() {
	return complemento;
}

public void setComplemento(String complemento) {
	this.complemento = complemento;
}

public String getBairro() {
	return bairro;
}

public void setBairro(String bairro) {
	this.bairro = bairro;
}

public Contato getContato() {
	return contato;
}

public void setContato(Contato contato) {
	this.contato = contato;
}

public Usuario getUsuario() {
	return usuario;
}

public void setUsuario(Usuario usuario) {
	this.usuario = usuario;
}

public Cidade getCidade() {
	return cidade;
}

public void setCidade(Cidade cidade) {
	this.cidade = cidade;
}

}

ANUNCIANTEDAO

package br.com.classificado.persistence;

import java.util.Collection;

import org.hibernate.Session;

import br.com.classificado.api.dao.HibernateUtil;
import br.com.classificado.api.dao.InterfaceDAO;
import br.com.classificado.bean.Anunciante;

public class AnuncianteDAO implements InterfaceDAO{
private Session session;

public AnuncianteDAO() {
	this.session = HibernateUtil.getFactory().getCurrentSession();
}

@Override
public void save(Anunciante anunciante) {
	this.session.save(anunciante);
}

@Override
public void update(Anunciante oT) {
	this.session.update(oT);
}

@Override
public void delele(Anunciante oT) {
	this.session.delete(oT);
}

@Override
public Anunciante get(Long id) {
	return (Anunciante) this.session.get(Anunciante.class, id);
}

@Override
@SuppressWarnings("unchecked")
public Collection<Anunciante> getAll() {
	return this.session.createCriteria(Anunciante.class).list();
}

}

Meu Anunciante.hbm.xml

<?xml version="1.0"?>

http://www.guj.com.br/java/50115-voce-e-novo-no-guj-vai-criar-um-topico-e-colar-seu-codigo-fonte-leia-aqui-antes-por-favor

ajusta seu post.

att,

O que ser “Hibernation”? Vc quise diser Hibernate?

http://quebrandoparadigmas.com/?p=585

http://quebrandoparadigmas.com/?p=699