Problemas inserindo datas (CALENDAR)

2 respostas
I

Sou iniciante em java e estou estudando hibernate, apesar de ter pesquisado n consegui resolver “meu” problema. No banco tem a tabela funcinario q contém vários campos, porém quando tento inserir esta dando erro qdo passo a data … abaixo um exemplo simplificado … a questão é: como passar a data 30/10/1975???

estrutura da tabela: dtCadastro date

classe Funcionario:



@Temporal(TemporalType.DATE)

private Calendar dtcadastro;


exemplo save:

Fornecedor f = new Fornecedor();
f.setdtcadastro(“30/10/1975”); //AKI

Transaction t = session.beginTransaction();

s.save(f);

t.commit;

Agradeço desde já o help … :slight_smile:

2 Respostas

T

Você precisa converter a sua string para um Calendar. A forma mais simples é você criar um método estático que pegue essa string, converta-a para um java.util.Date usando um java.text.SimpleDateFormat, e a seguir converta esse java.util.Date para um java.util.Calendar. Algo parecido com (ponha os try/catchs adequados - alguma coisa tem de ficar por sua conta!)

public static converterParaCalendar (String ddMMaaaa) {
     DateFormat df = new SimpleDateFormat ("dd/MM/yyyy");
     Date dt = df.parse (ddMMaaaa);
     Calendar cal = Calendar.getInstance();
     cal.setTime (dt);
     return cal;
}
I

thingol:
Você precisa converter a sua string para um Calendar. A forma mais simples é você criar um método estático que pegue essa string, converta-a para um java.util.Date usando um java.text.SimpleDateFormat, e a seguir converta esse java.util.Date para um java.util.Calendar. Algo parecido com (ponha os try/catchs adequados - alguma coisa tem de ficar por sua conta!)

public static converterParaCalendar (String ddMMaaaa) { DateFormat df = new SimpleDateFormat ("dd/MM/yyyy"); Date dt = df.parse (ddMMaaaa); Calendar cal = Calendar.getInstance(); cal.setTime (dt); return cal; }

Certinho agora … Valeu pela ajuda ! :slight_smile:

Criado 12 de maio de 2009
Ultima resposta 12 de mai. de 2009
Respostas 2
Participantes 2