我向事务管理器注入了@PersistenceContext
上下文注释。每次尝试以em.getTransaction().begin
开始交易时,都会出现错误消息异常
Transaction is not accessible when using JTA with JPA-compliant transaction access enabled
我知道我应该注入UserTransaction
或使用@Transactional
注释,但我想知道这种行为的原因。
答案 0 :(得分:1)
我认为您应该注入容器管理的交易。
类似的东西:
@Resource
private UserTransaction transaction;
public method() {
try {
transaction.begin();
...do some persistence...
transaction.commit();
} catch (Exception e) {
transaciton.rollback();
}
}
OR
如果不需要此类控件,则可以在方法上使用@Transaction注释。
希望有帮助。