package jef.database.dialect.type;
import jef.database.dialect.DatabaseDialect;
import jef.database.wrapper.clause.UpdateClause;
public interface VersionSupportColumn extends ColumnMapping{
/**
* 处理自动更新值,主要用于绑定变量情况下的更新操作
* @param dialect 方言
* @param update
*/
void processAutoUpdate(DatabaseDialect dialect, UpdateClause update);
/**
* 获得自动更新的数值,主要用于非绑定变量下的更新操作(其实基本不用)。
* 但另外一个功能也用到了,用来获取修改默认值。(这个以后应该要改掉)
* @param dialect 方言
* @param bean
* @return
*/
Object getAutoUpdateValue(DatabaseDialect dialect, Object bean);
/**
* 描述这是否为一个每次update都更新的字段。
* @return true if the field is update every time
*/
boolean isUpdateAlways();
/**
* 描述这是否为一个版本字段。如果一个字段为版本字段,那一定是一个每次update都更新的字段。
* @return true is the field is versioned.
*/
boolean isVersion();
}