Converter String p/ Date no BD  XML
Índice dos Fóruns » Desenvolvimento Web
Autor Mensagem
vivi_grieco
JavaEvangelist
[Avatar]

Membro desde: 29/10/2003 21:57:45
Mensagens: 366
Localização: Belo Horizonte/MG
Offline

Olá,
Eu tenho uma classe mapeada do Hibernate, que tem um atributo data do tipo String (private String data.
No BD, a coluna da minha tabela é do tipo DATE.
Como faço p/ gravar essa String no BD?
Essa é uma clsse de teste que eu fiz:


Esse é o meu FilaSaidaVO:


e o Dao:


Quando tento executar a classe de teste do jeito que eu coloquei aqui no post, dá esse erro:

Viviane Grieco
SCJP 1.4, SCWCD 1.4
lap_junior
JavaTeenager

Membro desde: 09/10/2003 08:42:55
Mensagens: 159
Offline

Melhor deixar o atributo da sua classe VO como Date, assim você não precisa se preocupar com formato de data

flw
vivi_grieco
JavaEvangelist
[Avatar]

Membro desde: 29/10/2003 21:57:45
Mensagens: 366
Localização: Belo Horizonte/MG
Offline

Não posso, ele tem q ficar como String.

Viviane Grieco
SCJP 1.4, SCWCD 1.4
oyama
Virtual Machine Man

Membro desde: 19/04/2005 10:11:09
Mensagens: 572
Offline

O Oracle não aceita fazer isto:


Só aceita isto:
(sem hora:min: seg)

ou isto:
usando função TO_DATE.


Recomendo usar o TO_DATE pois evita problemas de incompatibilidade de formato de data, pois pode-se passar a mascara.
julianostr
GUJ Ranger
[Avatar]

Membro desde: 31/03/2006 14:16:14
Mensagens: 855
Localização: Blumenau - SC
Offline

oyama wrote:O Oracle não aceita fazer isto:


Só aceita isto:
(sem hora:min: seg)

ou isto:
usando função TO_DATE.


Recomendo usar o TO_DATE pois evita problemas de incompatibilidade de formato de data, pois pode-se passar a mascara.


Você testou esse seu insert com esse formato de data? Se funcionou é por que o seu banco está configurado com esse formato. Então faz-se necessário verificar o formato do banco pra ter certeza. O banco aqui está com o formato dd-mon-yy.

Execute essa consulta no seu banco Oracle pra verificar os parâmetros:


LASER
Light Amplification by Stimulated Emission of Radiation
oyama
Virtual Machine Man

Membro desde: 19/04/2005 10:11:09
Mensagens: 572
Offline

Desculpe se não fui claro: com o meu exemplo o que eu quis ilustrar que para coluna tipo Date o Oracle aceita passar uma data em formato String, mas não aceita passar uma data e tempo. Uma maneira de contornar isto seria usar a função TO_DATE. Eu fiz os testes levando em conta o formato da data setado no Oracle, pois testei tanto no SQLPlus como com o Squirrel (via JDBC). Se você coloca um formato invalido o erro é diferente (acho que era mes invalido).

Fiz os testes usando um Oracle9i.

PS: É bem estranho mesmo mapear um coluna do tipo DATE como uma String. Poderia explicar os motivos?

 
Índice dos Fóruns » Desenvolvimento Web
Ir para:   
Powered by JForum 2.1.8 © JForum Team