Hibernate中日期(Date)类型 与oracle中日期的映射处理
2012-07-19 19:58
225 查看
今天第一次使用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
玩不了了 怎么都不大好处理
果断问了下同学 因为那伙计以前用JDBC的时候就一直用Date类型
得知可以用SimpleDateFormat类进行字符串日期的格式化
[b]看了下SimpleDateFormat的方法 有个parse(String)方法返回Date对象 有戏!
[/b]
执行save()操作 插入成功!
接下来执行读取数据库操作
[b]但是要求打印如 1990年-9月-3日数据显示
[/b]
显示结果1990年-9月-3日
如:连接打开关闭 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类进行字符串日期的格式化
[b]看了下SimpleDateFormat的方法 有个parse(String)方法返回Date对象 有戏!
[/b]
new SimpleDateFormat("yyyy-MM-dd").parse("2008-10-25");
执行save()操作 插入成功!
接下来执行读取数据库操作
[b]但是要求打印如 1990年-9月-3日数据显示
[/b]
new SimpleDateFormat("yyyy年-MM月-dd日").format(e.getInvoice_date());
显示结果1990年-9月-3日
注 : SimpleDateFormat 的format(Object o);无法直接格式化字符串
相关文章推荐
- Hibernate使用自定义类型UserType映射Oracle的Date类型
- Hibernate 映射 oracle 的 date 类型的变量 : 字段名不能映射为关键字
- Hibernate写入Oracle Date类型处理
- Oracle 日期数据保存在 varchar,Date 类型字段中的处理
- Date、Double等类型转化,oracle日期处理
- Oracle中的日期处理函数TO_DATE 和 TO_CHAR
- ORACLE中date类型字段的处理
- oracle date日期类型 精析
- Oracle 中的 TO_DATE 和 TO_CHAR 函数 日期处理
- Oracle 中的 TO_DATE 和 TO_CHAR 函数 日期处理
- oracle date 类型字段的处理方法
- Oracle 的TO_DATE对日期处理
- Hibernate连接Oracle的Date类型字段丢失时间问题(解决方案)
- 在.net中Oracle日期类型的处理
- ORACLE中date类型字段的处理
- Hibernate自定义数据类型映射oracle中xmlType 广东精鹰软件工作室(刘正仁)
- freemarker页面String类型的日期格式,实体类Date类型的----------处理方法
- Java 时间和日期类型的 Hibernate 映射及二进制映射及大文本的映射
- Oracle中PL/SQL引擎和SQL引擎DATE类型的不同处理
- 使用Hibernate插入oracle Date类型的例子