Olá pessoal! Estou usando Spring e hibernate para a camada de persistência. Gostaria de saber como devo proceder para poder pegar a data atual e gravá-la no banco no formato dd/mm/aaaa. Na tabela do banco de dados(SQL Server 2000) o campo (um SimpleDateTime) esta mapeado com o tipo Date do Java. Já tentei várias formas diferentes para armazenar no valor corretamente, o máximo que consegui foi algo como “30 Setembro 2006”. Se alguém puder me ajudar ficarei grato!
opa,
Cara isto aí é configuração de banco, porque até onde eu conheço o spring identificará o formato da data no banco e salva naquele formato. Bom quanto ao fomato que é salvo no banco também não há problema, depois é só você formatar do modo que quiser quando for exibir.
:joia:
Cara eu acho que tenho que passar a data no formato correto, porque eu mapei corretamente os campos e não está funcionando do jeito que você falou. Eu tinha que passar no formato dd/mm/aaaa, mas na hora de gravar no banco vira 30 Março 2006. Alguém já teve o mesmo problema?
Não sei se isso vai ajudar muito mas…
private DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
//gera a data no formato especificado
Date d = df.parse("30/03/2006");
Este tipo de mapeamento para a data abaxio esá correto?
<property
name="searchDate"
column="SEARCH_DATE"
type="date"
not-null="true"
length="16"
/>
Este tipo de mapeamento para a data abaxio esá correto?
<property
name="searchDate"
column="SEARCH_DATE"
type="date"
not-null="true"
length="16"
/>
Ou deveria ser:
<property
name="searchDate"
column="SEARCH_DATE"
type="java.util.Date"
not-null="true"
length="16"
/>
Bom! Pelo jeito era o mapeamento que estava errado mesmo, agora o parâmetro foi no formato desejado! Valeu pessoal
Puxa agora o problema é que a formatação da data entre a máquina que tem o sistema rodando e a máquina que tem o servidor de banco de dados está diferente, alguém sabe se como eu pegar o Locale da máquina servidora?
É interessante que vc deixe o mesmo locale no servidor da aplicação, assim como o servidor de banco de dados. Vc poderá ter problemas com outras coisas além da data, como número com decimal.
abraços!