JPA事务范围
我有一个容器管理的事务和三个企业JavaBean。第一个bean是其他两个EJB之间的链接:JPA事务范围,jpa,transactions,Jpa,Transactions,我有一个容器管理的事务和三个企业JavaBean。第一个bean是其他两个EJB之间的链接: @Stateful public class UserManagement { @EJB UsersFacade usersFacade; @EJB UserDetailsFacade userDetailsFacade; public void addUser() { //Point 1 UserEntity ue = n
@Stateful
public class UserManagement
{
@EJB
UsersFacade usersFacade;
@EJB
UserDetailsFacade userDetailsFacade;
public void addUser()
{
//Point 1
UserEntity ue = new UserEntity();
UserDetailsEntity ude = new UserDetailsEntity();
ue.setDetails(ude);
userFacade.create(ue); //Wrapper around EntityManager.persist method
userDetailsFacade.create(ude); Wrapper around EntityManager.persist method
//Point 2
}
}
问题:addUser()中的所有操作是否在单个事务(userFacade.create和userDetailsFacade.create)中执行?
@TransactionAttribute(TransactionAttributeType.REQUIRED)是否意味着事务通过addUser方法启动,并且它包括从addUser方法中执行的所有方法。当addUser结束时,事务就结束了
以及如何确保addUser将拥有自己的私有事务(其中将包括来自其中的方法),并且在方法终止时提交该事务