Quando eu deixo minha classe com as anotações, o sistema para de EXCLUIR OS Registros, motivos ?
é como se ele salvase somente o ID, mais leva todos os dados para o Formulário, mais quando mandou atualizar ele da erro ! se eu comentar as anotações, fica normal…
package br.com.caelum.lojavirtual.modelo;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import org.hibernate.validator.Email;
import org.hibernate.validator.Length;
//import org.hibernate.validator.NotEmpty;
//import org.hibernate.validator.NotNull;
@Entity
public class Cliente {
@Id
@GeneratedValue
private Long id;
//@NotNull(message="Nome do Cliente não foi Digitado")
//@NotEmpty(message="ATENÇÃO.: Nome é Obrigatório")
private String nome;
@Length(max =12)
private String cpf;
private String rg;
private String endereco;
private String mae;
private String cidade;
private String estado;
@Email(message="ATENÇÃO.: E-mail não é válido")
private String email;
@Length(max =10)
private String telefone;
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 getEndereco() {
return endereco;
}
public void setEndereco(String endereco) {
this.endereco = endereco;
}
public String getMae() {
return mae;
}
public void setMae(String mae) {
this.mae = mae;
}
public String getCidade() {
return cidade;
}
public void setCidade(String cidade) {
this.cidade = cidade;
}
public String getEstado() {
return estado;
}
public void setEstado(String estado) {
this.estado = estado;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getTelefone() {
return telefone;
}
public void setTelefone(String telefone) {
this.telefone = telefone;
}
}
**************************************
package br.com.caelum.lojavirtual.dao;
import br.com.caelum.lojavirtual.modelo.Cliente;
import java.util.List;
import br.com.caelum.lojavirtual.modelo.Usuario;
import org.hibernate.Session;
import org.hibernate.criterion.Restrictions;
public class Dao<T> {
protected final Session session;
protected final Class classe;
protected Dao(Session session, Class classe) {
this.session = session;
this.classe = classe;
}
protected Session getSession(){
return session;
}
public void adiciona(T u) {
this.session.save(u);
}
public void exclui(T u) {
this.session.delete(u);
}
public void atualiza(T u) {
this.session.merge(u);
}
public void salvaupdate(T u) {
this.session.saveOrUpdate(u);
}
public T procura(int id) {
return (T) session.load(this.classe, id);
}
public List<T> listaTudo() {
return this.session.createCriteria(this.classe).list();
}
public List<T> consultaParte(String nmCampo, String vlCampo) {
return this.session.createCriteria(this.classe).add(Restrictions.ilike(nmCampo, "%" + vlCampo + "%")).list();
}
public List<T> consultaExata(String nmCampo, String vlCampo) {
return session.createCriteria(this.classe).add(Restrictions.eq(nmCampo, "%" + vlCampo + "%")).list();
}
// CRITERIA PARA USUARIO
@SuppressWarnings("unchecked")
public List<Usuario> searchSimilarLogin(String login) {
return session.createCriteria(Usuario.class).add(
Restrictions.ilike("login", "%" + login + "%")).list();
}
// FIM DA CRITERIA PARA CDS
// CRITERIA PARA USUARIO
@SuppressWarnings("unchecked")
public List<Usuario> searchSimilarId(Long id) {
return session.createCriteria(Usuario.class).add(
Restrictions.ilike("id", "%" + id + "%")).list();
}
// FIM DA CRITERIA PARA CDS
// FIM DA CRITERIA PARA CDS
// CRITERIA PARA USUARIO
@SuppressWarnings("unchecked")
public List<Usuario> searchSimilarSenha(Long senha) {
return session.createCriteria(Usuario.class).add(
Restrictions.ilike("senha", "%" + senha + "%")).list();
}
// FIM DA CRITERIA PARA CDS
// CRITERIA PARA CDS cliente
@SuppressWarnings("unchecked")
public List<Cliente> searchSimilarNome(String nome) {
return session.createCriteria(Cliente.class).add(
Restrictions.ilike("nome", "%" + nome + "%")).list();
}
// FIM DA CRITERIA PARA cliente
}
****************************
package br.com.caelum.lojavirtual.dao;
import org.hibernate.Session;
import java.util.List;
import br.com.caelum.lojavirtual.modelo.Cliente;
import org.hibernate.criterion.Restrictions;
public class ClienteDao extends Dao<Cliente> {
public ClienteDao(Session session) {
super(session, Cliente.class);
}
//PROCURA para cliente
public Cliente procura(Long id) {
return (Cliente) session.load(Cliente.class, id);
}
Cliente procuraIdCliente(Long id) {
return (Cliente) session.load(Cliente.class, id);
}
public List<Cliente> lista() {
return this.session.createCriteria(Cliente.class).list();
}
/*
@SuppressWarnings("unchecked")
public List<Cliente> searchSimilarNome(String nome) {
return session.createCriteria(Cliente.class).add(
Restrictions.ilike("nome", "%" + nome + "%")).list();
}
*/
@SuppressWarnings("unchecked")
public List<Cliente> searchSimilarCpf(String cpf) {
return session.createCriteria(Cliente.class).add(
Restrictions.ilike("cpf", "%" + cpf + "%")).list();
}
}
***********************