Erro a gravar

2 respostas
A

estou tentando gravar no banco mas está dando o seguinte erro...

Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer

as minhas classe são..

Classe nascimento

@Entity @Table(name = "nascimento") public class Nascimento { @Id @GeneratedValue private Integer id; private GregorianCalendar data; private String Nome; private Integer brinco; private String sexo; // private Blob foto; private String registro; @OneToOne @JoinColumn(name = "cobertura_fk") private Cobertura cobertura; private String pai; private String mae; private String regMae; private String regPai; private double peso;

/** Creates a new instance of ClasseNascimento */
public Nascimento() {
}

public Integer getId() {
return id;
}

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

public GregorianCalendar getData() {
return data;
}

public void setData(GregorianCalendar data) {
this.data = data;
}

public String getNome() {
return Nome;
}

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

public Integer getBrinco() {
return brinco;
}

public void setBrinco(Integer brinco) {
this.brinco = brinco;
}

public String getSexo() {
return sexo;
}

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

// public Blob getFoto() {
// return foto;
// }
//
// public void setFoto(Blob foto) {
// this.foto = foto;
// }

public String getRegistro() {
return registro;
}

public void setRegistro(String registro) {
this.registro = registro;
}

public Cobertura getCobertura() {
return cobertura;
}

public void setCobertura(Cobertura cobertura) {
this.cobertura = cobertura;
}

public String getPai() {
return pai;
}

public void setPai(String pai) {
this.pai = pai;
}

public String getMae() {
return mae;
}

public void setMae(String mae) {
this.mae = mae;
}

public String getRegMae() {
return regMae;
}

public void setRegMae(String regMae) {
this.regMae = regMae;
}

public String getRegPai() {
return regPai;
}

public void setRegPai(String regPai) {
this.regPai = regPai;
}

public double getPeso() {
return peso;
}

public void setPeso(double peso) {
this.peso = peso;
}

}

metoto q está pegando os valores

DAO<Nascimento> dao = new DAO<Nascimento>(Nascimento.class);
     dao.setSession(HibernateUtil.openSession());
     
     Nascimento nasc = new Nascimento();
     
     try {
	  nasc.setData(DataHora.parseData(jData.getText()));
	  } catch (ParseException ex) {
	  ex.printStackTrace();
	  }
     nasc.setBrinco((Integer.parseInt(jBrinco.getText())));
     nasc.setNome(jNome.getText());
     nasc.setRegistro(jRegistro.getText());
    // nasc.setPeso(Double.parseDouble(jPeso.getText()));
     nasc.setMae(jMae.getText());
     nasc.setPai(jpai.getText());
     nasc.setRegMae(jRegMae.getText());
     nasc.setRegPai(jregPai.getText());
     
     nasc.setCobertura(dao.getObject(Cobertura.class, Restrictions.eq(
                                         "id", jCobertura.getText())));
     
     
     Auditoria aud = new Auditoria();
			aud.setTexto("Cadastra Nascomento do Animal: " + nasc.getNome());
			aud.setData(DataHora.getDataHoje());
			aud.setHora(DataHora.getHoraHoje());

			dao.beginTransaction();
			dao.save(aud);
			dao.save(nasc);
			try {
				dao.commit();
				dao.flush();
				dao.close();
			} catch (Throwable e) {
				JOptionPane.showMessageDialog(null, "Erro no Sistema!\n" + e,
						"ATENÇÃO", JOptionPane.WARNING_MESSAGE);
				e.printStackTrace();
			}

onde está o erro..

2 Respostas

A

esse é todo o erro…

INFO: could not bind value ‘2’ to parameter: 1; java.lang.String cannot be cast to java.lang.Integer
Exception in thread “AWT-EventQueue-0” java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer

fnandos
nasc.setCobertura(dao.getObject(Cobertura.class, Restrictions.eq(  
                                         "id", Integer.parseInt(jCobertura.getText()))));

esse cara não deveria ser Integer também?

Criado 8 de dezembro de 2008
Ultima resposta 8 de dez. de 2008
Respostas 2
Participantes 2