EJB中事务问题?
大家都知道EJB中的事务分为两种,即容器管理事务,编程实现事务。
容器管理事务是我们声明ejb的trasaction为Container,编程实现事务是声明ejb的trasaction为bean。我现在遇到了一个问题。
我建了一个sessionbean,并声明它的trasaction为Container,于是我在这个sessionbean中一个方法中有两年数据库操作,我认为它是支撑事务操作的。可是不像我想的那样。我在第一个数据库操作执行错误并且抛出异常的情况下,第二个数据库操作还是执行了。不知道这是为什么?
我的代码(伪代码)如下:
public void excHqlTest(String tblName, Object vo1, String tblName2 , Object vo2) {
try {
bo.excHqlTest(tblName2, vo2);
}
catch (Exception ex) {
}
try {
bo.excHqlTest(tblName, vo1);
}
catch (Exception ex) {
}
}