我正在使用EJB开发一个应用程序,当我在数据库上进行事务处理时,会得到以下错误:
Grave: RAR5031 5031:系统异常 javax.resource.spi.LocalTransactionException: 当autocommit=true无法调用提交时
以下是守则:
public boolean update(Person vo) {
boolean r = false;
try
{
entityManager.getTransaction().begin();
entityManager.merge(vo);
entityManager.getTransaction().commit();
r = true;
} catch (Exception e)
{
} finally {
return r;
}
}如果此代码没有从EJB调用,则不会得到错误。只有当我从EJB调用时才会得到错误。
发布于 2015-04-21 04:11:08
将这个注释@TransactionManagement(TransactionManagementType.BEAN)放在会话bean上。示例:
@TransactionManagement(TransactionManagementType.BEAN)
public class YourSessionBean ...发布于 2015-04-17 17:44:33
每个默认情况下,所有EJB方法都是事务性的。事务处理由EJB执行,因此不需要调用begin()和commit()。
https://stackoverflow.com/questions/29705726
复制相似问题