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"?>