簡體   English   中英

在事務中使用Hibernate + Spring openSession

[英]Hibernate + Spring openSession in Transaction

我有這個代碼,我有一個問題:

@Service
class SimpleServiceImpl implements SimpleService{

@PersistenceContext
private EntityManager em;

@Transactional
public void doSmth(){
   // here I want to have a new session
   Session session = em.unwrap(Session.class).getSessionFactory().openSession();

   // do smth in new session
   session.close();
}

交易怎么樣? 實際上,據我了解,如果我打開會話,我必須明確管理此會話,我必須關閉它。 但是交易發生了什么? 我是應該開始一個新的交易並自己管理它還是我的行動繼續在同一個交易中開始的方法是什么?

您已使用@Transactional注釋,這就是Spring將使用AOP概念處理事務的原因。

如果使用Transactional注釋,則您的方法將在一個事務中完成。

有關更多信息,您還可以檢查: spring transactional后台會發生什么

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM