Estou com um problema, embora ser basico não estou conseguindo resolver,
Tenho no banco de dados oracle uma tabela que possui um campo date onde tenho de gravar a data e a hora,
Estou utilizando o hibernate e seus mapeamentos,
mas não estou conseguindo formatar o atributo referente no java para mandar para o banco no formato que preciso.
Campo date -> dd/mm/yyyy HH:mm:ss é assim que preciso levar para o banco
As conversoes que ja tentei fazer todas me resultam em uma string sendo que preciso de um Date.
se vc passar um java.sql.Date o hibernate ja não se encarrega de converter???
F
felipe.javaX
Na verdade nao estou conseguindo construir a data no formato necessario.
drsmachado
Fazem, desde que o atributo referente a data esteja como Calendar ou como Date (java.util).
Se utiliza anotações
@Temporal
cujas opções são:
DATE> Apenas a data
TIME> Apenas a hora
DATETIME> Data e hora
Para xml não me recordo, mas é algo assim.
mauricioadl
SimpleDateFormatdf=newSimpleDateFormat(“dd/MM/yyyyhh:mm:ss”);// data normaljava.util.Datedate1=df.parse(“12/12/201120:10:02”);// data p/ sqljava.sql.Datedate2=newjava.sql.Date(date1.getTime());
drsmachado
Por favor, camarada, reformule tua dúvida, não se pode entender o que está acontecendo.
F
felipe.javaX
A saida da data sql é : 2011-12-12
Mas eu preciso que também seja impresso a hora.
F
felipe.javaX
Ok drsmachado,
Preciso passar um objeto date no formado dd/MM/yyyy HH:mm:ss
para um campo date no banco oracle, mas nao estou conseguindo fazer esta conversão.
mauricioadl
felipe.javaX:
A saida da data sql é : 2011-12-12
Mas eu preciso que também seja impresso a hora.
concordo com o machado, sua duvida ta cada vez mais complexa, tente explicar oq exatamente vc quer fazer.
[]'s
drsmachado
felipe.javaX:
A saida da data sql é : 2011-12-12
Mas eu preciso que também seja impresso a hora.
Primeiro, de onde vem essa informação?
Segundo e mais importante o que você já fez?
Terceiro, o título do post tá errado, corrija-o, por gentileza.
F
felipe.javaX
Ok pessoal,
O seguinte tenho uma tabela no banco de dados que guarda informações referentes a um determinado usuario,
Os dados dessa tabela são provenientes de uma operação que é realizada por um outro usuario no sistema.
Essa tabela possui um campo do tipo Date, onde tenho de grava a data e a hora em que essa operação foi realizada no sistema em que estou desenvolvendo,
Estava utilizando um:
SimpleDateFormat dateFormat = new SimpleDateFormat(“dd/MM/yyyy hh:mm:ss”);
So que a saida de um dateFormat.format(data) é uma string, porem no minha tabela o campo é do tipo Date,
não estou conseguindo passar uma String no formato dd/MM/yyyy hh:mm:ss para um atributo Date.
Ficou mais claro ?
mauricioadl
agora eu entendi, faça como eu mostrei usando o simpledateformat e com o metodo parse q ele converte a string pra vc.
[]'s
drsmachado
felipe.javaX:
Ok pessoal,
O seguinte tenho uma tabela no banco de dados que guarda informações referentes a um determinado usuario,
Os dados dessa tabela são provenientes de uma operação que é realizada por um outro usuario no sistema.
Essa tabela possui um campo do tipo Date, onde tenho de grava a data e a hora em que essa operação foi realizada no sistema em que estou desenvolvendo,
Estava utilizando um:
SimpleDateFormat dateFormat = new SimpleDateFormat(“dd/MM/yyyy hh:mm:ss”);
So que a saida de um dateFormat.format(data) é uma string, porem no minha tabela o campo é do tipo Date,
não estou conseguindo passar uma String no formato dd/MM/yyyy hh:mm:ss para um atributo Date.
Ficou mais claro ?
Não.
drsmachado
mauricioadl:
agora eu entendi, faça como eu mostrei usando o simpledateformat e com o metodo parse q ele converte a string pra vc.
[]'s
Camarada, mas se ele já estava tentando fazer um format, ele já possui um valor date.
Por que raios esse sujeito não manda direto o date pro banco?
F
felipe.javaX
machado quando eu mandei direto para o banco ficou apenas no formato de dia, mes e ano sem as horas.
mauricioadl
drsmachado:
mauricioadl:
agora eu entendi, faça como eu mostrei usando o simpledateformat e com o metodo parse q ele converte a string pra vc.
[]'s
Camarada, mas se ele já estava tentando fazer um format, ele já possui um valor date.
Por que raios esse sujeito não manda direto o date pro banco?
ta ficando divertido esse topico!!! hehehe
Pelo q entendi ele tem a data em forma de string, e qer converter para Date.
ou
ele tem a data em forma de java.util.date e precisa converter para java.sql.date.
drsmachado
mauricioadl:
drsmachado:
mauricioadl:
agora eu entendi, faça como eu mostrei usando o simpledateformat e com o metodo parse q ele converte a string pra vc.
[]'s
Camarada, mas se ele já estava tentando fazer um format, ele já possui um valor date.
Por que raios esse sujeito não manda direto o date pro banco?
ta ficando divertido esse topico!!! hehehe
Pelo q entendi ele tem a data em forma de string, e qer converter para Date.
ou
ele tem a data em forma de java.util.date e precisa converter para java.sql.date.
Primeiro que se ele tem java.util.Date ele tá inventando coisa, afinal, como ele mesmo disse, utiliza o hibernate…
mauricioadl
entao oq falta mesmo é especificar o tipo do parametro do temporal.
drsmachado
O que falta é ele entender o que precisa primeiro.
mauricioadl
O que falta é ele entender o que precisa primeiro.
pelo q ele disse eh q esta faltando apenas a hora, como vc ja tinha dito, tem q por o parametro datetime no @temporal se nao fica so a data mesmo.
drsmachado
O que falta é ele entender o que precisa primeiro.
pelo q ele disse eh q esta faltando apenas a hora, como vc ja tinha dito, tem q por o parametro datetime no @temporal se nao fica so a data mesmo.
Seria simples resolver, bastava colocar aí os códigos e boa…
F
felipe.javaX
mauricio eu entendo perfeitamente a minha duvida, talvez eu nao tenha explicad direito,
acontence que não estou usado Annotations, estou usando o xml.
drsmachado
felipe.javaX:
mauricio eu entendo perfeitamente a minha duvida, talvez eu nao tenha explicad direito,
acontence que não estou usado Annotations, estou usando o xml.
Felipe, o problema é exatamente este.
Você entender a própria dúvida é o mínimo possível e esperado.
Agora, precisa saber como colocá-la para os demais.
Princípio da comunicação, faça-se entender.
Annotation ou XML, tanto faz, ambas possuem os mesmos recursos (em teoria).
Até a versão 1.4 do java, não existia annotation e, ainda assim, existia o hibernate e o temporal.
F
felipe.javaX
Ok Pessoal, obrigado pelas sugestões o problema foi resolvido
Visualmente no banco aparece somente a data
porem quando fiz um SELECT TO_CHAR(date1,‘MM/DD/YYYY HH24:MI:SS’) “Date” FROM date_table;
deu certo,
Grato.
fbl.lucas
No banco oracle o tipo DATE não salva a hora, o campo tem que ser do tipo TIMESTAMP.
E o atributo deve estar anotado com @Temporal TIMESTAMP