Bom galera, estou com problema quando vou excluir um objeto no DataTable. Segue o codigo
OBS: Estou trabalhando no método excluir, ao tentar excluir ele não aparece nenhum erro e não exclui.
`package repository.DAO;
import java.util.List;
;
import model.Funcionario;
import repository.Funcionarios;
import util.HibernateConnection;
/**
- Implementa minha Interface.
- @author dayson
*/
public class FuncionarioDAO implements Funcionarios {
private Session session;
public FuncionarioDAO(Session session) {
this.session = session;
}
@SuppressWarnings("unchecked")
@Override
public List<Funcionario> listar() {
return session.createCriteria(Funcionario.class)
.addOrder(Order.asc("codigoFunc")).list();
}
/**
* Pega o Id do Funcionario.
*/
@Override
public Funcionario porCodigo(Integer codigo) {
return (Funcionario) session.get(Funcionario.class,codigo);
}
/**
* Salva Serviço
*
* @param servico
* @return
*/
@Override
public Funcionario salvar(Funcionario funcionario) {
return (Funcionario) session.merge(funcionario);
}
/**
* Exclui serviço.
*
* @param servico
*/
@Override
@Transient
public void excluir(Funcionario funcionario) {
session.delete(funcionario);
}
}
Regra De Negocio
public class GestaoFuncionario {
private Funcionarios funcionarios;
private List<Funcionario> listaFuncionario = new ArrayList<Funcionario>();
public GestaoFuncionario(Funcionarios funcionarios) {
this.funcionarios = funcionarios;
}
public void salvar(Funcionario funcionario) throws RegraNegocioException {
try {
funcionarios.salvar(funcionario);
} catch (Exception e) {
throw new RegraNegocioException("Não foi possível salvar o funcionario!");
}
}
public void remover(Funcionario funcionario) throws RegraNegocioException {
try {
funcionarios.excluir(funcionario);
} catch (Exception e) {
e.printStackTrace();
throw new RegraNegocioException("Não foi possível excluir o funcionario!");
}
}
public List<Funcionario> getListaFuncionario() {
return listaFuncionario;
}
}
Meu Bean
@ManagedBean
@ViewScoped
public class ConsultaFuncionario implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
private List<Funcionario> listFuncionario = new ArrayList<Funcionario>();
private Repositorios repositorio = new Repositorios();
private Funcionario funcionarioSelecionado;
private Funcionario funcionario;
private String nome;
GestaoFuncionario gestaoFuncionario = new GestaoFuncionario(repositorio.getFuncionario());
@PostConstruct
public void inicializar() {
Funcionarios funcionarios = repositorio.getFuncionario();
listFuncionario = funcionarios.listar();
}
public Funcionario getFuncionario() {
return funcionario;
}
public void setFuncionario(Funcionario funcionario) {
this.funcionario = funcionario;
}
public void excluir() {
try {
gestaoFuncionario.remover(funcionarioSelecionado);
inicializar();
MensagemUtil.AdicionaMensagem(FacesMessage.SEVERITY_INFO, "Funcionario Excluído com Sucesso!");
} catch (Exception e) {
MensagemUtil.AdicionaMensagem(FacesMessage.SEVERITY_ERROR, "Não foi possível excluir o serviço!");
e.printStackTrace();
}
}
public List<Funcionario> getListFuncionario() {
return listFuncionario;
}
public Funcionario getFuncionarioSelecionado() {
return funcionarioSelecionado;
}
public void setFuncionarioSelecionado(Funcionario funcionarioSelecionado) {
this.funcionarioSelecionado = funcionarioSelecionado;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
}
`