Hibernate中日期(Date)類型 與oracle中日期的映射處理

來源:互聯網
上載者:User

今天第一次使用Hibernate做持久化層   不得不承認 用的真的很省事 省略了很多需要操心的事情 .

如:串連開啟關閉   sql代碼  各種異常 方法調用  等等

但是這種安逸帶來的不安全感也是有的  因為底層sql語句不受控制了

然後呢 我以前處理日期實體聲明的都是String類型  然後通過sql語句 to_date(s,'yyyy-MM-dd')

現在呢 ?

很不和諧的給我來個類型轉換異常

org.hibernate.exception.DataException: Could not execute JDBC batch update

Caused by: java.sql.BatchUpdateException: ORA-01861: 文字與格式字串不匹配

 

錯的很顯然 字串無法直接插入資料庫的date類型欄位中

很惆悵呀 00.

沒轍了 想點子唄 立馬改回Date類型 修改相關對應檔

但是賦值的時候又糾結了 

 

for example

 

假設我想指定插入日期為 1990-09-03

玩不了了  怎麼都不大好處理

 

Date date = new Date();

 

果斷問了下同學 因為那夥計以前用JDBC的時候就一直用Date類型

得知可以用SimpleDateFormat類進行字串日期的格式化

看了下SimpleDateFormat的方法 有個parse(String)方法返回Date對象 有戲!

 

new SimpleDateFormat("yyyy-MM-dd").parse("2008-10-25");

 

執行save()操作 插入成功!

接下來執行讀取資料庫操作

但是要求列印如 1990年-9月-3日資料顯示

 

new SimpleDateFormat("yyyy年-MM月-dd日").format(e.getInvoice_date());

 

顯示結果1990年-9月-3日

注 : SimpleDateFormat 的format(Object o);無法直接格式化字串 

 

 

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.