DB设计的每一个字段都是有用的,大家会发现现在项目的数据库中的表中都有【更新日时】这个字段,
而且它是timestamp类型,可以精确到秒的小数点后六位。只要进行DB更新,都需要更新这个字段。
当你打开画面时,这个字段也需要取出来,放到画面隐藏起来,
进行更新时需要将画面上的隐藏值和DB中这个值进行比较,这两个值相等,则说明没有人更新过这个字段,则正常进行更新。
当这两个字段不相等了,就说明已经有人更新了,所以需要重新刷新画面,获取最新DB数据之后再进行更新。
上面说的是更新,防止重复插入数据方法也很多,DB设计时就做一个唯一主键,然后使用sequence,让主键实现自动增长。我们现在数据库中部分表就是用了sequence。
除此之外,我们还可以try catch来捕捉主键冲突,然后可将错误信息返回到画面,让用户重新进行登录。
-----出自公司内部大神之手