| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/11/2006 16:40:33
|
vivi_grieco
JavaEvangelist
![[Avatar]](/images/avatar/c8f2e743409a2b1d467ea.jpg)
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 |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/11/2006 16:47:19
|
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
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/11/2006 16:48:39
|
vivi_grieco
JavaEvangelist
![[Avatar]](/images/avatar/c8f2e743409a2b1d467ea.jpg)
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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/11/2006 19:22:20
|
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.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/11/2006 19:55:18
|
julianostr
GUJ Ranger
![[Avatar]](/images/avatar/ca7e09eacf1ae34bc819d495c5adfed9.jpg)
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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/11/2006 20:18:10
|
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?
|
|
|
 |
|
|