发布网友 发布时间:2022-04-14 03:01
共2个回答
懂视网 时间:2022-04-14 07:22
lt;timestamp name=updDate column=UPD_DATEgt;lt;/timestampgt; 这个必须跟在id定义之后 这使用AP服务器的时间,而不是
这个必须跟在id定义之后
这使用AP服务器的时间,而不是DB服务器的时间,来更新数据库。
即更新数据库时使用的是new Date(),,而不是sysdate。
如果要使用DB服务器时间来更新DB,必须加上source="db"
此时,hibernate会先从数据库中取出当前时间(select sysdate from dual),然后再用该时间进行更新。
并不是严格意义上的用sysdate更新数据库(update table1 set upd_date=sysdate ……)。
如果更新结果中没有毫秒信息,请检查Dialect,应使用org.hibernate.dialect.Oracle10gDialect。(Oracle9及其后续版本应该都支持毫秒)
不要使用org.hibernate.dialect.OracleDialect,该类已经被Deprecated。
使用org.hibernate.dialect.Oracle10gDialect之后,取DB时间的SQL会变为 select systimestamp from dual。
Hibernate 中文手册 PDF
Hibernate 的详细介绍:请点这里
Hibernate 的下载地址:请点这里
本文永久更新链接地址:
热心网友 时间:2022-04-14 04:30
最好发下你的 .hbm 映射文件,看一下,是否配置正确,然后再说