用户版本号乐观锁(两个以上用户不能同时进行同一操作)

时间紧张,先记一笔,后续优化与完善。

1.新建一个帮助java类,例如
package com.ibm.banking.irmp.common;

import java.io.Serializable;

import javax.persistence.MappedSuperclass;
import javax.persistence.Version;

@MappedSuperclass
public abstract class OptimisticLockSupportEntity implements Serializable {

    /**
     * 
     */
    private static final long serialVersionUID = 4575574127009076214L;

    public final static String CONFLICT_MESSAGE_ID = "COMMSW0005"; //自定义错误信息(当用户和另一个用户同时操纵时会报错,然而提供这个错误)

    private String updateUserCode;// 近来更新人
    private long lockVersion;  //乐观锁的版本号(当用户操纵时候就主动更新版本号(如1.2.3。。。)类已封装好了主动更新版本号,无需手动更新,直接用便可)

    @Version
    public long getLockVersion() {
		return lockVersion;
	}


	public void setLockVersion(long lockVersion) {
		this.lockVersion = lockVersion;
	}

    public String getUpdateUserCode() {
        return updateUserCode;
    }



	public void setUpdateUserCode(String updateUserCode) {
        this.updateUserCode = updateUserCode;
    }

    
}
    每日一道理
正所谓“学海无涯”。我们正像一群群鱼儿在茫茫的知识之海中跳跃、 嬉戏,在知识之海中出生、成长、生活。我们离不开这维持生活的“海水”,如果跳出这个“海洋”,到“陆地”上去生活,我们就会被无情的“太阳”晒死。

    2.在对某张表操纵的时候,即在那个对应的实体类中继承上面的类便可(这张表中要添加几个字段:updateUserCode,lockVersion)

    3.在action中,以前是怎么用的就还是怎么用,该调用方法的调用方法,不变

    4.在jsp中,要隐藏域一个参数:版本号(lockVersion),无论用户怎么操纵(增编削查都必须提交版本号,这样系统会主动判断是否有人同时停止同一操纵,如果是同一操纵,后台action中会捕捉到异常,即OptimisticLockSupportEntity类中定义的,然后在页面中判断是否有异常,如果有异常则提示“该操纵已被锁定,请稍后刷新在试”)

文章结束给大家分享下程序员的一些笑话语录: 马云喜欢把自己包装成教主,张朝阳喜欢把自己包装成明星,李彦宏喜欢把自己包装成的很知性,丁磊喜欢把自己包装的有创意,李开复总摆出一副叫兽的样子。看来的。其实我想说,缺啥补啥,人之常情。

--------------------------------- 原创文章 By
用户和版本号
---------------------------------

原文地址:https://www.cnblogs.com/jiangu66/p/3109090.html