2016-12-09 2 views
-1

Я хочу выполнить запрос Update из Java Entity на Wildfly JEE. Вот как я обновляю Entity:Wildfly JPA: Как обеспечить, чтобы запрос EJB находился в транзакции.

entry.setProcessed(Boolean.TRUE); 
entry.setName("Fred"); 
em.persist(entry); 

Но это не работает, и это дает мне ошибку:

2016-12-09 17:23:23,226 ERROR [stderr] (default task-4) javax.persistence.TransactionRequiredException: WFLYJPA0060: Transaction is required to perform this operation (either use a transaction or extended persistence context) 

ОК, так что мне нужна сделка. Но как мне создать или присоединиться к транзакции?

Вот как я создал PersistenceContext и EntityManager:

@PersistenceContext (unitName = "config", type=PersistenceContextType.EXTENDED) 
private EntityManager em; 

Я попытался em.joinTransaction(), но это требует сделка, которая уже создана. em.persist() `не работает, потому что нет транзакции. Сделка должна управляться контейнером. Я не могу найти хорошую ссылку о том, как настроить контейнер, или настроить PersistenceContext.

ответ

1

Попробуйте добавить аннотацию @Stateless на классе

Пример:

@Stateless 
public class VehicleRepo { 

} 
+0

Добавление @Stateless аннотацию работал. Контейнер управляет транзакцией. спасибо – CocoNess

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