[seasar-dotnet:785] Timestampによる排他制御について

Masafumi Teraoka [E-MAIL ADDRESS DELETED]
2008年 3月 7日 (金) 11:22:44 JST


お世話になっております、寺岡と申します。

現在S2Dao.NET 1.3.6を使用させて頂いております。

Timestampによる自動排他制御を利用しているのですが、
Oracleの排他対象項目をDATE型からTIMESTAMP(6)に変更すると、
NotSingleRowUpdatedRuntimeExceptionが発生します。

・BookEntityクラスを作成し、BOOKテーブルにマッピングしています。
・BookEntityで<TimestampProperty("UpdateDt")>属性を使用しUpdateDtを排他対象項目としています。
・UpdateDtはDatetime型です。
--DDL
CREATE TABLE SQLWIN.BOOK
(
    ID                             VARCHAR2(2) NOT NULL,
    NM                             VARCHAR2(10) NOT NULL,
    UPDATE_DT                      TIMESTAMP(6) DEFAULT CURRENT_TIMESTAMP,
    CONSTRAINT PK_BOOK PRIMARY KEY (ID) 
)


ミリ秒単位の不一致で排他エラーが発生しているのかなと思うのですが、
Oracle側のUPDATE_DTが08-03-07 11:00:50.984000の場合、
UpdateDt.Millisecond=984となっているので一致していると思われるのですが。

アドバイスいただけないでしょうか?
宜しくお願い致します。

以上


seasar-dotnet メーリングリストの案内