时间紧张,先记一笔,后续优化与完善。
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
用户和版本号
---------------------------------