Я хочу выполнить запрос 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.
Добавление @Stateless аннотацию работал. Контейнер управляет транзакцией. спасибо – CocoNess