Chr*_*röm 5 java ejb transactions exception container-managed
我有一个@Stateless
带有@WebService
接口的EJB ,使用容器管理的事务,这意味着如果没有引发系统异常,在调用方法后,容器会自动提交事务.
如果我EntityManager.persist(...)
为具有唯一约束的列尝试两个具有相同值的对象,则容器将PersistenceException
在我的代码之外的提交中向客户端抛出一个.我如何捕获此异常,以便我可以重新抛出自己的应用程序异常?
我是否必须在我的方法中手动提交事务以捕获提交中的异常?(这是EntityManager.flush()
正确的方法吗?)如果是这样,那么拥有容器管理交易的重点是什么?