我有一个数据库表在Oracle Date
柱,并通过获取该字段,如何通过JPA将Oracle Date字段正确转换为java.util.Date?
EntityManagerFactory emf = Persistence.createEntityManagerFactory("dbPU");
EntityManager em = emf.createEntityManager();
DateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy, HH:mm");
String query = "SELECT T.MDATE FROM MTABLE T";
List<Object[]> resultList = em.createNativeQuery(query).getResultList();
for (Object[] data : resultList) {
System.out.println(dateFormat.format((java.util.Date) data[0]));
}
印刷日期的“日期”部分是正确的,但在“时间”(即小时和第二)部分是“00:00”为他们所有。但是,当我在SQL Developer中检查这个字段时,实际的“时间”部分不同于“00:00”。哪里有问题?提前致谢。
编辑: 我使用,
Hibernate-Version: 3.2.5.ga
hibernate.dialect = org.hibernate.dialect.Oracle10gDialect
Oracle JDBC Driver version 10.2.0.1.0
Oracle Database 11g Express Edition Release 11.2.0.2.0
对此有帮助吗? http://www.coderanch.com/t/464371/ORM/java/JPA-Oracle-Date – 2012-02-15 17:37:46
or this http://stackoverflow.com/questions/3469018/jpa-2-0-oracle-date-has-空时或http://stackoverflow.com/questions/6347532/jpa-entity-get-the-hours-minutes-and-sec-from-oracle-date-column – 2012-02-15 17:42:35
没有链接不起作用。我在本地查询,因此没有包含“Date”属性和“@ Temporal”注释的实体类。此外,我试图从数据库读取,而不是写入它。把额外的信息放在这个问题上,看看这个版本。 – 2012-02-16 13:49:06