>  기사  >  데이터 베이스  >  Hibernate乐观锁之Timestamp注意点

Hibernate乐观锁之Timestamp注意点

WBOY
WBOY원래의
2016-06-07 16:49:121055검색

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 的下载地址:请点这里

本文永久更新链接地址:

linux

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.