[Seasar-user:20861] Re: 【DBFlute】OracleのTIMESTAMPでシステム日付が勝手にセットされてしまう

[E-MAIL ADDRESS DELETED] [E-MAIL ADDRESS DELETED]
2011年 7月 22日 (金) 17:39:41 JST


豊里です。

大中様
> トリガーが効いてるとかいうことはないでしょうか?
トリガーは作成していないので、その影響ではありませんでした。

久保様
> o setTimeStamp() を呼び出さないで insert() するとどうなるか?
システム日時が入りました。

> o setTimeStamp() をオーバーライドしてログを出力してみて、
>  予期しないセッターメソッドの呼び出しが他にないか?
TnAbstractEntityHandler#updateTimestampIfNeedから値が入ってる動きが見られました。
デバッグで動きを見ているとTnBeanMetaDataFactoryImpl#getTimestampPropertyNameでT_HOGEテーブルの場合、デフォルトの"timestamp"が設定されたので変更すると問題なく指定した日付がinsertされました。


以上。


2011年7月21日22:00 Hiroyuki Ohnaka <[E-MAIL ADDRESS DELETED]>:
> 大中(せと)です。
>
> トリガーが効いてるとかいうことはないでしょうか?
>
> 2011年7月21日21:28 kubo <[E-MAIL ADDRESS DELETED]>:
>> 久保(jflute)です。
>>
>> 豊里さん、こんばんは
>>
>> 特にその名前が特別なことはありません。
>> DBFluteでは唯一 VERSION_NO という名前のカラムは
>> 排他制御カラムとして自動判別しますが、それ以外はありません。
>> 以下を確認してみてください。
>>
>> o setTimeStamp() を呼び出さないで insert() するとどうなるか?
>> o setTimeStamp() をオーバーライドしてログを出力してみて、
>>  予期しないセッターメソッドの呼び出しが他にないか?
>>
>> 2011/7/21 [E-MAIL ADDRESS DELETED] <[E-MAIL ADDRESS DELETED]>:
>>> 豊里と申します。
>>> 久保様、先程はご迷惑をおかけしてすみませんでした。
>>>
>>> 現在DBFlute-0.9.8.7を使用しています。
>>> 件名の通りですが、TIME_STAMPという名前のカラム名でデータ型もTIMESTAMP型で
>>> Insertする際にJava側で値をセットしても、システム日付が勝手にセットされてしまいます。
>>>
>>> 例)
>>> 〜DDL〜
>>> CREATE TABLE T_HOGE
>>> (
>>>   HOGE_ID                   VARCHAR2(10) NOT NULL,
>>>   HOGE_NM                   VARCHAR2(100),
>>>   TIME_STAMP                     TIMESTAMP(6),
>>>   CONSTRAINT SYS_C005018 PRIMARY KEY (HOGE_ID)
>>> );
>>>
>>>
>>> 〜Java〜
>>> MHoge entity = new MHoge();
>>>
>>> entity.setHogeId("test");
>>> entity.setHogeNm("テスト");
>>>
>>> Timestamp ts = '未来日付';
>>> entity.setTimeStamp(ts);
>>>
>>> tHogeBhv.insert(entity);
>>>
>>>
>>> insert前にセットされたTimeStampの値を確認したら未来日付が入っていました。
>>> しかしログ、データを確認するとシステム日付が自動設定されます。
>>> もちろんcommonColumnMap.dfpropにはTIME_STAMPを設定していません。
>>>
>>> TIME_STAMPというカラム名は問題ですか?
>>>
>>> 以上。
>>> _______________________________________________
>>> Seasar-user mailing list
>>> [E-MAIL ADDRESS DELETED]
>>> https://ml.seasar.org/mailman/listinfo/seasar-user
>>>
>> _______________________________________________
>> Seasar-user mailing list
>> [E-MAIL ADDRESS DELETED]
>> https://ml.seasar.org/mailman/listinfo/seasar-user
>>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>


Seasar-user メーリングリストの案内