我有一個數據庫表在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