Как автоматически обновлять поля, такие как дата создания / изменения, при использовании MyBatis? - PullRequest
2 голосов
/ 23 августа 2011

Я использую MyBatis и хочу реализовать 2 поля в каждой таблице «созданы», «изменены». Оба из них являются полями даты. Есть ли способ автоматического обновления этих полей при вставке или обновлении? Конечно, я могу корректировать сопоставления, но мне было интересно, есть ли более общий и СУХОЙ способ сделать это?

1 Ответ

7 голосов
/ 23 августа 2011

Нет, mybatis не имеет механизма, позволяющего делать это автоматически без кодирования ваших карт sql для обновления столбцов.

Одной из альтернатив будет триггеры базы данных . Я не уверен, что рекомендовал бы, хотя, мы просто кодируем это в картах 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>
...