Tentei de várias formas inserir na tabela uma data e hora para um campo data do oracle 10g, mas não consegui. Para realizar a persistência estou utilizando o JPA com hibernate.
No mapemento eu uso @Temporal(TemporalType.DATE) utilizei @Temporal(TemporalType.TIMESTAMP) , mas ocorreu um exceção quando subiu a aplicação.
A informação que mando é assim dd/MM/yyyy HH:mm:ss só que salva assim dd/MM/yyyy.
Olá meu caro! O certo é você usar um TIMESTAMP caso queira pegar/setar um campo com data e hora. Se ocorreu um erro, cole ele aqui para nós resolvermos.
Para salvar a hora voce deve usar TimeStamp, so DATE so vai salvar a data mesmo, e quanto ao formato isso não é importante cada banco salva em um formato mas na aplicação voce pode colocar no formato que quiser…
11:56:37,887 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-6) MSC000001: Failed to start service jboss.persistenceunit."cmf-ear.ear/cmf-ejb-1.0.jar#CMFEntityManager": org.jboss.msc.service.StartException in service jboss.persistenceunit."cmf-ear.ear/cmf-ejb-1.0.jar#CMFEntityManager": Failed to start service
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1767) [jboss-msc-1.0.2.GA-redhat-1.jar:1.0.2.GA-redhat-1]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [rt.jar:1.6.0_26]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [rt.jar:1.6.0_26]
at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_26]
Caused by: javax.persistence.PersistenceException: [PersistenceUnit: CMFEntityManager] Unable to build EntityManagerFactory
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:915)
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:890)
at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:74)
at org.jboss.as.jpa.service.PersistenceUnitServiceImpl.createContainerEntityManagerFactory(PersistenceUnitServiceImpl.java:162)
at org.jboss.as.jpa.service.PersistenceUnitServiceImpl.start(PersistenceUnitServiceImpl.java:85)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA-redhat-1.jar:1.0.2.GA-redhat-1]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA-redhat-1.jar:1.0.2.GA-redhat-1]
... 3 more
Caused by: org.hibernate.HibernateException: Wrong column type in SYSCMF_3707.TB_NRANTT for column DTINCLUSAO. Found: date, expected: timestamp
at org.hibernate.mapping.Table.validateColumns(Table.java:295)
at org.hibernate.cfg.Configuration.validateSchema(Configuration.java:1275)
at org.hibernate.tool.hbm2ddl.SchemaValidator.validate(SchemaValidator.java:155)
at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:500)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1744)
at org.hibernate.ejb.EntityManagerFactoryImpl.<init>(EntityManagerFactoryImpl.java:94)
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:905)
... 9 more
Como eu disse no banco esta mapeado como Date … se eu colocar no mapeamento Date funciona.
e o tipo da coluna no banco, não por isso no banco tem que ser timestamp, datetime, etc, dependendo do banco no oracle naum sei que tipo de dados deve ser usado para isso mas da uma olhada pesquisa na net, mas concerteza deve ser o tipo de dado da coluna em questao no banco de dados…