那么,怎么做才能使兩個表記錄一致,采取事務機制,只有下面這樣書寫才能實現真正事務:
在EJB方法中寫兩個方法,因為EJB方法體缺省是一個事務。
public void updateUser(){
updateTabel1();//更新table1
updateTable2(); //更新table2
}
關于EJB自動的事務機制,最近也有一個道友做了測試,對于JBoss中容器管理的事務的疑惑。
如果你從事關鍵事務,就是帶money相關操作的事務,這種粗粒度機制可能害苦你,那么,似乎有一種辦法可彌補事務,不使用EJB容器事務(CMT),在service中使用Spring的事務機制。
如果使用Spring事務機制,業務核心又在POJO中實現,那么我有一個疑問:還要套上EJB干什么?至此,你終于明白,Spring本質是和EJB競爭的,如果硬套上EJB使用,只是相借助其集群分布式功能,而這個正是Spring目前所缺少的。
我太驚異Spring精巧的詭異了,他和EJB關系,正如異型和人的關系一樣。
為了避免你每次使用Spring時想到粘糊糊的異型,不如Spring without EJB,這也正是Spring的初衷,也是它的一個暢銷書名。
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/