2016-08-24 68 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)上的事务事务很有用。