Pessoal eu sei que esse é um assunto que tem alguns tópicos aqui no GUJ, mas pesquisando não encontrei um que realmente tirasse a minha dúvida.
Vamos lá.
Tenho 2 cenários, um somente para data de nascimento e outro para data e hora:
Primeiro:
O usuário do sistema digita a data do cliente no campo que vai estar com o formato dd/MM/yy e manda salvar.
Após isso a data nesse formato é setado em um DTO, cuja o método é:
public void setDataDeNascimento(Calendar dataDeNascimento) {
this.dataDeNascimento = dataDeNascimento;
}
Depois disso o DTO manda as informações para o DAO que faz a inserção no banco, dessa maneira:
stmt.setDate(4, new java.sql.Date(dto.getDataDeNascimento().getTimeInMillis()));
Após isso eu quero o retorno de uma pesquisa com um select que está no DAO.
Estou fazendo desta maneira:
Date date = rs.getDate(4);
Calendar cal = Calendar.getInstance();
cal.setTime(date);
dto.setDataDeNascimento(cal); // aqui o eclipse não acusa nenhum erro
Agora eu não sei se ambos estão convertendo corretamente. Por que quando vou fazer um teste dessa maneira:
Date date = rs.getDate(4);
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal = cal.getTime(); // aqui o eclipse acusa o mesmo, mesmo fazendo cast
//cal = (Calendar) cal.getTime();
O eclipse acusa erro dizendo para eu alterar o tipo Calendar cal para Date, como se o método cal.setTime não convertesse o Date para
Calendar. Com essa informação que o Eclipse me da parece que ele guarda no setTime um Date.
Fico no aguardo de uma sugestão para o meu problema, obrigado pessoal.
Se caso as sugestões para esse cenário derem certo eu tento aplicar no meu cenário 2, caso contrário posto ele aqui.
vlw!