EJB3.0中如何处理数据库异常。

项目中使用EJB3.0+CMP+JBoss+Tomcat。web层调用EJb组件。EJB中写一个函数操作数据库时,如果这时数据库出错(网络不通等)程序会抛出一些Runtime的异常,请问这些异常我的程序要不要捕捉。例如EntityManage.persist()一个实体Bean时要不要用try,catch块把这个函数包起来。如果不捕捉的话,如何向前台报错呢?

捕获了再抛出,才能激活事务回滚。

但是我试过,只要抛异常事务就回滚。你看这段代码。
public void singleMethod() {
EntityLife entityLife=em.find(EntityLife.class, 1);
entityLife.setName("Transaction");

throw new RuntimeException("TestTransaction");
}
我在客户端不管捕捉不捕捉异常。entityLife对应的记录在数据库中都没有被set成"Transaction"。