Hibernate樂觀鎖之Timestamp注意點

來源:互聯網
上載者:User

<timestamp name="updDate" column="UPD_DATE"></timestamp>

這個必須跟在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 的:請點這裡

本文永久更新連結地址:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.