テーブル構造でupdated_time設計はON UPDATE CURRENT_TIMESTAMPの場合、プロセスのピットを使用します.
2395 ワード
一、mysqlテーブル構造に次のような設計がある場合
テーブル構造でupdated_time設計はON UPDATE CURRENT_TIMESTAMPの場合、以下のようになります.
二、使用過程の一つの穴に存在する問題:
updateがdaoエンティティオブジェクト全体である場合、そのオブジェクトのupdateTimeフィールドはnullまたはnew date()に設定されません.
update timeは最新時間に更新されません
三、解決方法1.xxxDAOのupdateメソッドを呼び出す場合、updateのオブジェクトにupdate time(更新時間)がある場合は、new Date()またはnullを手動でセットしてください.
2. BeanUtils.copyProperties(form, tConsultant,"updateTime"); copyのレプリケーションでは、無視するupdateTimeフィールドを指定できます.
Springのこの方法のソースコードは以下の通りです.
転載先:https://www.cnblogs.com/756623607-zhang/p/10420697.html
テーブル構造でupdated_time設計はON UPDATE CURRENT_TIMESTAMPの場合、以下のようになります.
`updated_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ' ';
二、使用過程の一つの穴に存在する問題:
updateがdaoエンティティオブジェクト全体である場合、そのオブジェクトのupdateTimeフィールドはnullまたはnew date()に設定されません.
update timeは最新時間に更新されません
三、解決方法1.xxxDAOのupdateメソッドを呼び出す場合、updateのオブジェクトにupdate time(更新時間)がある場合は、new Date()またはnullを手動でセットしてください.
2. BeanUtils.copyProperties(form, tConsultant,"updateTime"); copyのレプリケーションでは、無視するupdateTimeフィールドを指定できます.
Springのこの方法のソースコードは以下の通りです.
/**
* Copy the property values of the given source bean into the given target bean,
* ignoring the given "ignoreProperties".
* Note: The source and target classes do not have to match or even be derived
* from each other, as long as the properties match. Any bean properties that the
* source bean exposes but the target bean does not will silently be ignored.
*
This is just a convenience method. For more complex transfer needs,
* consider using a full BeanWrapper.
*
@param source the source bean
* @param target the target bean
* @param ignoreProperties array of property names to ignore
* @throws BeansException if the copying failed
* @see BeanWrapper
*/
public static void copyProperties(Object source, Object target, String... ignoreProperties) throws BeansException {
copyProperties(source, target, null, ignoreProperties);
}
転載先:https://www.cnblogs.com/756623607-zhang/p/10420697.html