zoukankan      html  css  js  c++  java
  • Hibernate中日期(Date)类型 与oracle中日期的映射处理

    今天第一次使用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);无法直接格式化字符串 

     

     

     

     

     

  • 相关阅读:
    window2003 安全配置
    VirusScan7.0使用说明
    管理者必读的四个小故事
    iis权限设置
    电信增值业务寻找合作伙伴
    ERP项目管理12要点
    抽闲破个案,放松一下(1)
    网站策划,网站建设的重中之重
    企业及时通讯软件源代码销售,功能类似QQ/UC/贸易通
    软件项目实施规范小结
  • 原文地址:https://www.cnblogs.com/cnjava/p/2599900.html
Copyright © 2011-2022 走看看