我開發使用EJB應用程序,當我做了數據庫,會出現以下錯誤的事務:Java異常 - 無法調用commit時自動提交=真正
Grave: RAR5031:System Exception
javax.resource.spi.LocalTransactionException:
Can't call commit when 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調用時,我只會遇到錯誤。
如果要使用聲明性容器管理事務,則不需要明確地開始和提交事務。所有骯髒的任務都由引擎蓋下的容器處理。但是,如果您想對某些不清楚的原因使用編程事務感興趣,那麼您可以使用[bean managed transactions](https://docs.oracle.com/javaee/7/tutorial/transactions004.htm)(注入'javax.transaction.UserTransaction'接口使用'@ Resource'註釋,並以顯式/編程方式啓動和提交事務。 – Tiny