呵呵,我个人认为:
  如果你的设计合理,是可以避免这个问题。
如果只给业务层加事务,dao层是没有事务,那也许就不会有你这个问题了。

解决方案 »

  1.   

    事我们的项目分好几个工程,务1本身是一个工程内地,事务2是在另外一个工程内,由于事务1内的dao操作完了后需要调用事务2的方法,而事务2的方法是公用内必须有事务的开始和提交,且事务2的方法在事务1的方法内调用了两次。如下面的源代码:
    A(){

    TransactionManager.beginTransaction();//事务2
            。
    TransactionManager.commitTransaction();//此处事务的提交是否把事务1一起提交了?事务的嵌套是不是就近原则?
    TransactionManager.beginTransaction();//事务2第二此调用
            。
    TransactionManager.commitTransaction();//此处事务的提交是否把事务1一起提交了?事务的嵌套是不是就近原则?}
    事务2的第一次调用若没有提交,会造成锁表。这种情况下,我该怎么设计?比较郁闷。我自己感觉说的都比较乱。
      

  2.   

    事务2的工程我是打成jar,放到事务1的工程内,让事务1的工程调用地。