Tenho um projeto java web baseado numa aula do curso da algaworks, porem, quando fiz uma adaptacao alterando ele, acrescentando novas entidades, nao salva no banco e nem exibe log de erro. Utilizo -> hibernate, mysql, jsf.
Acredito que o problema esteja nesta classe, apesar de ser quase igual da que me baseie do curso.
`Classe CadastroClienteService
import java.io.Serializable;
import java.util.Date;
import javax.inject.Inject;
import com.tacocell.controleservicos.dao.ClienteDAO;
import com.tacocell.controleservicos.model.Cliente;
import com.tacocell.controleservicos.util.jpa.Transactional;
public class CadastroClienteService implements Serializable {
private static final long serialVersionUID = 1L;
@Inject
private ClienteDAO clienteDAO;
@Transactional
public void salvar(Cliente cliente) throws NegocioException {
if (cliente.getNomeCliente() == null || cliente.getNomeCliente().trim().equals("")) {
throw new NegocioException("Este campo e obrigatorio. Preencha o nome do cliente");
}
/*if (cliente.getCnpj() == null || cliente.getCnpj().trim().equals("")) {
throw new NegocioException("O cnpj do cliente e obrigatorio");
}
*/
if (cliente.getCodigo() == null)
{
cliente.setDataCadastro(new Date());
}
this.clienteDAO.salvar(cliente);
}
}
Tem estas outras classes que podem estar o erro, mas nao consegui identificar.
import java.io.Serializable;
import java.util.List;
import javax.inject.Inject;
import javax.persistence.EntityManager;
import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.criterion.MatchMode;
import org.hibernate.criterion.Restrictions;
import com.tacocell.controleservicos.model.Cliente;
public class ClienteDAO implements Serializable {
private static final long serialVersionUID = 1L;
@Inject
private EntityManager manager;
public void salvar(Cliente cliente) {
manager.merge(cliente);
}
@SuppressWarnings("unchecked")
public List<Cliente> filtrar(Cliente cliente){
Session session = manager.unwrap(Session.class);
Criteria criteria = session.createCriteria(Cliente.class);
if (cliente.getNomeCliente() != null && !cliente.getNomeCliente().trim().equals("")) {
criteria.add(Restrictions.ilike("nm_cli", cliente.getNomeCliente(), MatchMode.ANYWHERE));
}
if (cliente.getCnpj() != null && !cliente.getCnpj().trim().equals("")) {
criteria.add(Restrictions.ilike("cnpj", cliente.getCnpj(), MatchMode.ANYWHERE));
}
return criteria.list();
}
public Cliente buscarPeloCodigo(Long codigo) {
return manager.find(Cliente.class, codigo);
}
}
import java.io.Serializable;
import javax.faces.bean.ViewScoped;
import javax.inject.Inject;
import javax.inject.Named;
import com.tacocell.controleservicos.util.jsf.FacesUtil;
import com.tacocell.controleservicos.model.Cliente;
import com.tacocell.controleservicos.service.CadastroClienteService;
import com.tacocell.controleservicos.service.NegocioException;
@Named
@ViewScoped
public class CadastroClienteBean implements Serializable {
private static final long serialVersionUID = 1L;
private Cliente cliente;
@Inject
private CadastroClienteService cadastroClienteService;
public CadastroClienteBean(){
limpar();
}
public void salvar() {
try{
this.cadastroClienteService.salvar(cliente);
FacesUtil.addSuccessMessage("Cliente salvo com sucesso!");
}catch(NegocioException ne) {
FacesUtil.addErrorMessage(ne.getMessage());
}
limpar();
}
public void limpar() {
this.cliente = new Cliente();
}
public Cliente getCliente() {
return cliente;
}
public void setCliente(Cliente cliente) {
this.cliente = cliente;
}
}
`
Se alguem identificar o problema, me ajude!