2016-08-24 6 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: Все объекты вводятся с КДИ, менеджер впрыскивается с классом объекта org.jboss.as.jpa.container.TransactionScopedEntityManager

+0

Можете ли вы включить свой 'persistence.xml' и реализацию' # {back.salver} '? –

ответ

1

Как ваш CDI боб является EJB сессионный компонент, вам не нужно использовать аннотацию @Transactional, поскольку EJB по умолчанию имеет управляемую транзакцией транзакцию (CMT).

@Transactional полезен для управления транзакцией транзакции на управляемом CDI компоненте (то есть POJO).

Смежные вопросы