[英]Error javax.persistence.TransactionRequiredException: no transaction is in progress
I tried insert entities to DB. 我尝试将实体插入数据库。 And I have BaseJpaDao class:
我有BaseJpaDao类:
@Transactional(Transactional.TxType.REQUIRED)
public abstract class BaseJpaDao<E> implements BaseDao<E> {
protected Class<?> entityClass;
private EntityManager em;
public BaseJpaDao(Class<?> entityClass) {
this.entityClass = entityClass;
em = Persistence.createEntityManagerFactory("COLIBRI").createEntityManager();
}
@Override
public E persist(E e) {
em.persist(e);
return e;
}
...
@Override
public void flush() {
em.flush();
}
And I have child class extends BaseJpaDao 我的孩子班延伸了BaseJpaDao
public class CallJpaDao extends BaseJpaDao<Calls> implements CallDao {
and method 和方法
@Override
public void insertCalls(List<Calls> callsList) {
for (Calls call : callsList) {
try {
persist(call);
flush();
} catch (Exception e) {
logger.log(Level.FINEST, "Exception in task time={0}. Exception message = {1}.", new Object[]{call.getDate(), e.getMessage()});
}
}
}
I tried persist and flush entity but I have an error: 我尝试了持久和刷新实体,但出现错误:
javax.persistence.TransactionRequiredException: no transaction is in progress
EDIT 编辑
I change dependency to 我将依赖关系更改为
<dependency>
<groupId>javax.ejb</groupId>
<artifactId>javax.ejb-api</artifactId>
<version>3.2</version>
</dependency>
It not helped. 它没有帮助。
And I add @Transactional
annotation to child class - not helped 我将
@Transactional
注释添加到子类-没有帮助
将@Transactional
更改为:
@Transactional(Transactional.TxType.REQUIRES_NEW)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.