Proxy Spring事务和PersistenceContext
我遇到了这样的情况:Proxy Spring事务和PersistenceContext,proxy,transactions,entitymanager,Proxy,Transactions,Entitymanager,我遇到了这样的情况: @Transactional @Override public void register(String username, UserPasswordNew userPasswordNew, UserAccount userAccount) throws UserNameAlreadyExistsException { ..... entityManager.merge(userAccountToSave); } 我做了一些研究,但检查我是否理解得很好。我
@Transactional
@Override
public void register(String username, UserPasswordNew userPasswordNew, UserAccount userAccount) throws UserNameAlreadyExistsException {
.....
entityManager.merge(userAccountToSave);
}
我做了一些研究,但检查我是否理解得很好。我有
entityManager
(事务范围)。方法寄存器是@Transactional
,因此它意味着该方法被包装在代理中。何时创建持久性上下文?第一次调用entityManager.merge()
??事务是commit after方法,因为它包装在代理中。因此,在提交后将删除持久性上下文?如果我错了,请纠正我的错误,但您使用的是事务范围的entitymanager,因此在每次调用entitymanager时,都要确保持久性上下文存在,entitymanager在此创建一个新上下文并使用它进行合并-并且,与事务范围的entitymanager中一样,每次提交后,将删除持久性上下文