同时操作(添加,删除数据)两个表(Mysql数据库)如何保持数据一致,事务该如何写 ? 
我本来是先插入后删除,可是觉得这样不符合业务逻辑(废品报废)  看到有人说是设标记 可那样也不好用。
下面是我原来的操作:
tx.begin();
stmt.executeUpdate(sqlstr1);
stmt.executeUpdate(sqlstr2);
tx.commit();

解决方案 »

  1.   

    首先,事务没有嵌入式应用,你可以使用内事务和外事务.总的来说一点  ALL_IN_NOTHING
      

  2.   

    Java事务典型几个部分: 应用程序, the transaction processing monitor (简称TPM), 和一个或多个resource managers (RMs 比如数据库). RMs 是保存应用状态,可以是数据库也可以是JMS服务器或其他事务资源. TPM 协同RM活动以保证事务要么是1,要么是0的实现(all-or-nothing)
    Java事务其实也是一个Exception管理机制,当你启动一个事务过程中,抛出任何Exception都可以使事务中断回滚。由于JavaEE服务器没有提供文件读写RM,那么你只有自己做这些工作,相关文章:
    http://www.ibm.com/developerworks/java/library/j-jtp0305.html