【发布时间】:2017-12-02 19:07:30
【问题描述】:
我正在尝试使用 entityManager.flush() 在其范围结束之前持久化容器管理的事务
bean 类被注解
@TransactionAttribute(TransactionAttributeType.REQUIRED)
通过这个链接:how we can get JPA EntityManager Flush work,我知道使用 entityManager.flush() 不会提交事务。 DBMS 现在将知道这些数据,但其他 DB 会话将无法看到它。
我还尝试创建一个带注释的新 bean 方法
@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
点击此链接how to commit a transaction in EJB? 在其范围在新 bean 方法内的其他事务中调用 entityManager.flush()。但是这不起作用。
我正在寻找一种方法来强制提交事务以将其迄今为止的当前状态保留在 DB 中。
类似:
entityManager.getTransaction().commit();
这可以为 BMT 而不是 CMT。
【问题讨论】: