Salvar Data no Mysql

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.:&nbsp; <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.:&nbsp; <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 :smiley: