我想从Wildfly JEE上的Java实体执行更新查询。 以下是我更新实体的方法:
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的良好参考。
答案 0 :(得分:1)
尝试在班级上添加@Stateless注释
示例:
@Stateless
public class VehicleRepo {
}