一个关于事务的问题,想请教大家
小弟最近开始钻研大名顶顶的《MASTERINGEJB2.0》,看到事务的时候突然有歌比较原始的问题,请教如下:
当你正确的使用事务的时候,它将向你提供4个保证,ACID。也就是
1,ATOMICITY 2, CONSISTENCY 3, ISOLATION 4, DURABILITY
看到第三项ISOLATION时我就有点胡涂了。
它说:在有多个事务同时操作一条记录的时候,其中一个事务将获得此记录的LOCK,这样其它事务就必须等这个事务结速操作并确释放LOCK以后才可以操作,所以ENTITY BEAN的数据库操作方法就必须设置成REQUIRED,
REQUIRESNEW或者MANDATORY,也就是说凡是操作数据库的操作都必须包含在事务里面。
那么我的问题如下,请大家帮忙解答
1,LOCK这个东西是不是只有在事务对他进行操作的时候才有的啊?如果是两个不是事务的操作对同一记录同时操作,还有没有LOCK?
2,我原来以为事务是让多个操作要么全做,要么都不做,这样才有意义
如果是只有一个单一的操作,比如说,就一条UPDATA的SQL语句,就没什么必要用了吧
3,反正我就是有点觉得把所有的ENTITYBEAN方法都弄成事务有点浪费了,请大家解释。
谢谢大家!