0
假设我需要选择最大值作为订单号。因此,我将选择MAX(数字),指定要订购的数量,并将更改保存到数据库。但是,如何防止他人弄乱号码?交易会做什么?例如:NHibernate:同时选择MAX值
ordersRepository.StartTransaction();
order.Number = ordersRepository.GetMaxNumber() + 1;
ordersRepository.Commit();
上面的“lock”代码是否会更改,以便订单号码只能由一个DB客户端读取/写入?鉴于事务是简单的NHibernate的,并且GetMaxNumber只是执行SELECT MAX(Number)FROM Orders。