[英]EJB-CMT JPA flush transaction
我正在使用JPA编写EJB-CMT bean。 在我的EJB方法中,我有一些持久性操作,需要在“持久”操作之一之后调用“刷新”。
这是我的示例代码:
@Stateless
@LocalBean
@TransactionManagement(TransactionManagementType.CONTAINER)
public class MyEjb {
@PersistenceContext(unitName = "MyPU")
EntityManager em;
public void addSome() {
User u = //;
em.persist(u);
em.flush(); // ----------- CALL FLUSH HERE
UserGroup g1;
em.persist(g1); // --- Add another
UserGroup g2;
em.persist(g2); // -- Add another
}
}
我的问题是 :可以在一次交易中执行“ addSome”方法中的所有代码吗? 我知道,如果不使用“刷新”功能,则所有代码都将在一次事务中执行。
非常感谢您的帮助。
当然,您可以使用@TransactionAttribute来注释您的方法, value=REQUIRES_NEW
,您的方法将在单个隔离的事务中执行,并且从该方法返回时,实体管理器将被刷新,请在此处查看更多信息
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.