我也谈嵌套事务

我相信数据库事务的问题,每个人都或多或少的使用过.我说句惭愧的话,关于事务嵌套的问题,我一直都没有找到一个满意的解决方案,小弟才疏学浅.但我还是把我的一些想法提出来,以便各位朋友交流和提出科学的方法.已解我心中的痛!
闲话就不多说了,接下来我举个例子。
有三个业务对象,这些对象只是例子,业务逻辑是否合理,不在本文章探讨范围。
1、客户对象(Customer)。对客户基本信息进行管理(登记、修改、删除);
2、预约(DestineBill)。对客户预约单进行管理(登记、修改、删除);
3、帐单(BillManage)。对帐单进行管理。

业务对象

他们单独执行时不会有什么问题。这时如果有另一个业务对象的业务包含这3个业务对象的Insert方法,并且在出错需要回滚时该怎么办呢?
这就是我想说的一个问题。
我现在的做法是:在业务对象基类中保存一个事务队列,来判断该事务是否需要提交(该事务是不是外部创建,不是外部创建就可以提交,不是外部创建的事务,该事务不提交)。
这样做了之后,最大的问题是数据库连接会经常超时,某些表会经常被占用(她处于事务中)。我不知道大型系统中一般是怎么来处理这个问题的。
希望大家提出你们宝贵的经验或建议。

 

posted on 2007-04-15 23:38 凌风 阅读(141) 评论(3)  编辑 收藏

评论

#1楼  2007-12-13 10:04 光影传说      

可以考虑用Transactionscope   回复  引用  查看    

#2楼 [楼主] 2007-12-16 17:15 凌风      

To 光影传说
可以交流一下关于这方面的知识吗?这文章我写了很久,老是不能解决得很好。还望多多赐教。   回复  引用  查看    

#3楼  2008-05-24 10:05 沙加      

按淘宝的说法,抛弃事务~~~   回复  引用  查看    


标题  
姓名  
主页
Email (只有博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2008-04-07 21:35 编辑过
 
 

导航

公告

  • 网名:凌风
  • 职业:软件工程师
  • 位置:四川 成都
  • 联系方式: 
  •  

统计

与我联系

搜索

 

常用链接

我参与的团队

我的标签

随笔分类(11)

文章分类

积分与排名