2016-08-24 89 views
0

JBoss EAP數據源在我的項目中。交易錯誤JTA DATASOURCE JPA CDI

由於某些原因,當我嘗試堅持一個對象時,我得到下面的錯誤。

JBAS011469:事務需要執行此操作(無論是 使用事務或擴展持久上下文): javax.faces.FacesException:#{back.salvar}: javax.persistence.TransactionRequiredException:JBAS011469: 事務需要執行此操作(無論是使用一個 交易或擴展的持久上下文)

有@Transactional方法但這種方法推出的誤差。 有人嗎?

@Stateless 
@Named 
public class BaseDao implements Serializable 
{ 
    private static final long serialVersionUID = -8993128837557701804L; 

    @PersistenceContext 
    protected EntityManager manager; 

    @Transactional 
    public void persist(Object object) 
    { 
     manager.persist(object); 
    } 

} 

PS:所有的對象都注射了CDI,經理被注入對象類org.jboss.as.jpa.container.TransactionScopedEntityManager

+0

你可以請包括你的'persistence.xml'和'#{back.salver}'的實現嗎? –

回答

1

由於您的CDI bean是一個EJB無狀態會話Bean,您不必在此處使用@Transactional註釋,因爲默認情況下EJB具有容器管理事務(CMT)。

@Transactional對管理CDI託管bean(即POJO)上的事務事務很有用。