我正在使用弹簧EntityManager
并且需要提交方法完成记录。这就是我对前::Spring EntityManager提交事务作为方法完成
@Override
@Transactional
public void upsert(String lastSuccessfullRun) {
for(tableData in Tables){
insertIntoDB(tableData);
}
}
和方法,这两种方法insertIntoDB包含实际执行更新查询
@Override
@Transactional(propagation=Propagation.REQUIRES_NEW)
public void insertIntoDB (String tableData) {
em.persist(tableData)
}
的楼内设有商务逻辑但问题是,该方法不承诺,因为它在upsert方法中返回下一个循环。
我该如何提交方法完成?
经过坚持,你可以尝试'entityManager.getTransaction()。commit();',你也可以批量提交,而不是每个对象,如果有几个。 –
@NayanWadekar由于我使用的是Spring EntityManager,我不能使用'getTransaction()'方法,它会抛出异常,因为在spring容器之外无法管理事务。 –
对不起,Spring并没有太多,这似乎相似 - http://stackoverflow.com/q/12897882/366964 –