Hibernate连接Oracle的Date类型字段丢失时间问题(解决方案)
来源:互联网 发布:中国近代人物研究网络 编辑:程序博客网 时间:2024/05/01 17:33
问题:
日期类型字段在数据库中存储时为:2009-12-13 23:30:59,而在页面浏览显示时只显示:2009-12-13 00:00:00
原因:
hibernate在与oracle数据库交互时对数据库中定义为Date类型的字段,自动映射为java.sql.Date。而java.sql.Date本身只取日期不取时间,故从vo获得的数据全部没有时间。目前vo中的Date均为java.util.Date,不存在问题。
解决方案:
要想取到数据库中的时间,必须使用java.sql.Timestamp 来映射数据库中的Date型字段,更改相应表的映射文件,如product.hbm.xml中的属性映射:
<property name="starttime" type="java.sql.Timestamp">
<column name="STARTTIME" length="7" />
</property>
<property name="endtime" type="java.sql.Timestamp">
<column name="ENDTIME" length="7" />
</property>
其他部分不用任何更改,vo中Date类型仍为java.util.Date不动。
另外:
解决这个问题之前也看了很多网上的资料,有说要改VO的,但那样做极不方便,最后发现其实只要把映射文件的类型更改就可以了,VO如果是自动生成的,一般都是用java.util.Date来映射Oracle的Date字段的,这个不用动,目前没发现对原有程序有任何影响。
- Hibernate连接Oracle的Date类型字段丢失时间问题(解决方案)
- Hibernate连接Oracle 的 Date字段时间时分秒丢失问题
- iBatis Date类型时间丢失问题
- iBatis Date类型时间丢失有关问题
- hibernate 中反射oracle的Date字段问题
- OJDBC14导致查询时间时Date类型的时分秒丢失,OJDBC6修正此问题
- ORACLE中date类型字段的处理
- ORACLE中date类型字段的处理
- oracle 中插入date类型的字段
- ORACLE中date类型字段的处理
- ORACLE中date类型字段的处理
- ORACLE中date类型字段的处理
- ORACLE中date类型字段的处理
- ORACLE中date类型字段的处理
- ORACLE中date类型字段的处理
- oracle中的date类型字段的处理
- oracle 取date类型字段的年份
- iBatis Date 类型 时分秒丢失(精度丢失)问题
- java中的方法重载
- 同余运算性质
- 职业程序员真的比在学生时代会有更高的技术吗?
- 再烦,也别忘微笑;再急,也要注意语气
- 在www.json.org上公布了很多Java下的json解析工具,其中org.json和json-lib比较简单,两者使用上差不多
- Hibernate连接Oracle的Date类型字段丢失时间问题(解决方案)
- 实战 Lucene,第 1 部分: 初识 Lucene
- 17的平方与快捷方式
- 工作问题记录
- 资源泄露
- 笑着看你幸福
- 异步调用(响影提示)
- VB.NET2005 在项目中添加App.config的配置
- 学习银光有段时间了,写点感受