Estou tendo problemas com o campo Date no Mysql
Por exemplo para salvar a data de nascimento, eu quero salvar como date no banco de dados, só que eu acho que o formulário me retorno uma string?Em qual parte eu devo fazer a conversão para date antes de salvar no bd?
Faço no formulário mesmo?Ou faço no getter ou setter?
//Parte do formulario tá assim
Data de Nasc.: <input name="pessoa.data_nasc" value="${pessoa.data_nasc}" type="text" size="10">
Como vc está fazendo a persistencia? Hibernate, BoxSQL, ou nativamente pelo Java? Instruções SQL? Caso esteja fazendo via instrução SQL, na hora de gerar o SQL é que vc já deve passar convertido pra date. Se for hibernate oubox eles fazem isso automaticamente caso sua classe entity esteja com o campo com o formato data corretamente.
Estou fazendo pelo hibernate, na classe da entity o campo está assim:
O Date que eu uso é o do pacote java.sql ou java.util?
private Date data_nasc;
Estou usando o VRaptor e da o seguinte erro:
javax.servlet.ServletException: Unable to execute setData_nasc: argument type mismatch
Tentei colocar isso aqui no setter:
SimpleDateFormat formato = new SimpleDateFormat("dd/MM/yyyy");
formato.format(data_nasc);
Só que dai da erro no formulário e o vraptor me retorna como invalid
[quote=RafaelViana]Estou tendo problemas com o campo Date no Mysql
Por exemplo para salvar a data de nascimento, eu quero salvar como date no banco de dados, só que eu acho que o formulário me retorno uma string?Em qual parte eu devo fazer a conversão para date antes de salvar no bd?
Faço no formulário mesmo?Ou faço no getter ou setter?
//Parte do formulario tá assim
Data de Nasc.: <input name="pessoa.data_nasc" value="${pessoa.data_nasc}" type="text" size="10">
[/quote]
oi
tenta usar o formatDate do JSTL aqui tem alguns exemplos
abs
Dei uma olhada, mas não entendi muito bem, vou procurar mais exemplos, se alguém tiver algo mais explicativo seria bom ;D
Pelo que eu olhei no guj, muito tópicos tem o seguinte:
[code]Date nomedavariavel;
private SimpleDateFormat formatador= new SimpleDateFormat(“dd/MM/yyyy”);
conversão:
String dataFormatada = formatador.format(nomedavariavel); [/code]
Assim eu vou salvar a data no banco de dados como string?Eu quero salvar como Date.
Eu uso isso no meu getter ou no meu setter?
Consegui para isso, a solução:
mudei o import de java.sql.Date;
para java.util.Date
Então na ide deu o seguinte aviso:
Temporal attribute must be marked with the @Temporal annotation
Colocando isso acima, dos campos de datas:
@Temporal(javax.persistence.TemporalType.DATE)
Fica ai a solução para quem passar um problema semelhante 