2015-02-21 5 views
1

У меня ситуация так:Весна сделки и PersistenceContext

@Transactional 
@Override 
public void register(String username, UserPasswordNew userPasswordNew, UserAccount userAccount) throws UserNameAlreadyExistsException { 
    ..... 
    entityManager.merge(userAccountToSave); 
} 

Я сделал некоторые исследования, но проверить меня, если я хорошо понимаю. У меня entityManager (область транзакции). Регистр метода - @Transactional, поэтому это означает, что этот метод завернут в прокси. Когда создается контекст сохранения? Во время первого звонка entityManager.merge() ?? Транзакция является фиксацией после метода, потому что она завершена в прокси. Итак, контекст persistence удаляется после фиксации?

ответ

1

Исправьте меня, если я ошибаюсь, но вы используете сущ. Человек с ограниченной транзакцией, поэтому во время каждого вызова entitymanager он гарантирует, что контекст persistence существует, здесь entitymanager создает новый и использует его для объединения - и, как в транзакции, облачный сущ. человек, контекст persistence будет удален после каждой фиксации.

Смежные вопросы