5

私は MyBatis を使用しており、「作成」、「変更」されたすべてのテーブルに 2 つのフィールドを実装したいと考えています。どちらも日付フィールドです。挿入または更新時にこれらのフィールドを自動的に更新する方法はありますか? もちろん、マッピングを調整することはできますが、これを行うためのより一般的で DRY な方法があるかどうか疑問に思っていました。

4

2 に答える 2

9

いいえ、mybatis には、SQL マップをコーディングして列を更新しない限り、これを自動的に行うメカニズムがありません。

1 つの代替手段は、データベース トリガーです。ただし、それをお勧めするかどうかは定かではありませんが、SQL マップでコーディングするだけです。

次のように SQL マップでコーディングできます。

<insert id="someInsert">    
     insert into dummy_table    
     ( 
         SOME_COLUMN,
         CREATED_DT    
     )    
     values
    (
        #{someValue},
        sysdate    
     ) 
</insert>

また、

<update id="someUpdate">
   update some_table
   set some_column = #{someValue}, modified=sysdate
   where some_id = #{someId}
</update>
于 2011-08-23T15:50:25.850 に答える