EJB CMT

大家好,最近在使用CMT管理事务的时候遇到下面的问题:

CMT界定一个方法为一个事务,但是当我在这个方法中使用不同DAO,比如两个DAO,分别对数据库进行新增数据操作,如果第一个DAO中的操作成功,第二个DAO中的操作失败,DAO1中的操作却不会回滚,请问,应该如何正确的使用CMT来管理这样的情况?

* DAO中没有管理连接

谢谢!

第二个DAO中的操作失败,DAO1中的操作应该回滚。

要激活方法事务,需要很多注意工作,如你的数据表是否支持事务,如果你使用的是JNDI,那么你的容器的JNDI配置是否支持事务?然后,你的EJB方法抛错是否是EJBException?