急,急,急:网站问题 一个网上购物系统,当客户购买某个产品后,(1)需要记录此次交易的详细情况,(2)并相应地从仓库库存中扣除已出售的产品仓储量。小张在调试的过程中发现,在并发条件下,零库存的产品依然可能被卖出。请分析造成该问题的原因,并简要描述解决方案。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1、Hiberrnate transaction2、或者在存贮过和中写事务 这是同步的问题。并发条件下,A和B同时发现库存有1件产品,于是都以为自己能把它卖出去。A卖了,并且把库存置为0,这时B就出现你所说的“零库存的产品依然可能被卖出”的情况了。A操作数据库的时候要使用事务,A从发现有一件产品,到把它从1-1=0,这个过程中不能有别人查这个表。。A搞定了。成功卖出就是0件剩余,失败的话库存还是1。这时B再去查....建议了解下“事务”的概念.. 数据库连接1. con.setAutoCommit(false);2.干你要干的事(主要是数据库操作,包括查库存,卖出时库存数-n)3.con.commit();4.con.setAutoCommit(true);你做第二步的过程中,别人是不查不了库存的,等你的操作完成后。别人才可以查。。放心,第二步很快。不过你的问题也正是两个以上人同时干第二步才出现的。 java类如何网jsp传值 谢谢了 大数据量查询后封装WebService的DTO方案 hibernate save的时候能不能save一个map?? 求教 在eclipse(all in one)上新建flex工程出错,怎么解决? 关于框架的学习? jstl简单的问题 小妹明天要面试,请教几个问题啊,感激涕零 急求解答 Ajax 使用中 responseXML.documentElement 的问题 tomcat+mysql连接问题,在线等 使用Struts连接数据库的示例程序 java 大数据量打印 求hibernate资料
A操作数据库的时候要使用事务,A从发现有一件产品,到把它从1-1=0,这个过程中不能有别人查这个表。。A搞定了。成功卖出就是0件剩余,失败的话库存还是1。这时B再去查....
建议了解下“事务”的概念..
1. con.setAutoCommit(false);
2.干你要干的事(主要是数据库操作,包括查库存,卖出时库存数-n)
3.con.commit();
4.con.setAutoCommit(true);
你做第二步的过程中,别人是不查不了库存的,等你的操作完成后。别人才可以查。。放心,第二步很快。不过你的问题也正是两个以上人同时干第二步才出现的。