1. 程式人生 > >判斷一條資料是否是新紀錄,以及儲存之前執行的方法

判斷一條資料是否是新紀錄,以及儲存之前執行的方法

在basecontroller實體類中宣告一個final isnewrecord=false

對外公開一個方法:getisnewRecord(),預設是返回false,如果物件的id不為空就返回true

public boolean getIsNewRecord() {

        return isNewRecord || StringUtils.isBlank(getId());

    }

/**
     * 插入之前執行方法,需要手動呼叫
     */
    @Override
    public void preInsert(){
        // 不限制ID為UUID,呼叫setIsNewRecord()使用自定義ID
        if (!this.isNewRecord){
            setId(IdGen.uuid());
        }
        User user = UserUtils.getUser();
        if (StringUtils.isNotBlank(user.getId())){
            this.updateBy = user;
            this.createBy = user;
        }
        this.updateDate = new Date();
        this.createDate = this.updateDate;
    }