使用JPA的EntityManager.persist()方法無法儲存到資料庫的問題

來源:互聯網
上載者:User

昨天用JPA時遇到一個小問題,entitymanager是通過@PersistContext方法注入的,使用entitymanager查詢對象沒有問題,但進行持久化時就無法儲存資料到資料庫,程式也沒有拋出任何異常。瞎搗鼓了一天,總以為是persistence.xml檔案哪裡出問題,最後上網查資料,看到別人提到transaction-type中的JTA和RESOURCE_LOCAL的區別,才想到自己在調用persis()方法之前沒有添加@Transactional標籤。 現在問題解決了,衷心的感謝百度Google以及在網上分享自己解決問題經驗的大牛和小牛們!

 

轉載:JTA和RESOURCE_LOCAL的區別就在於一個是聲明性交易管理,由容器來打理你添加了@TransactionAttribut(xxxx)注釋的EJB method過程,而另一個需要手動從EM中得到一個事務控制代碼並使用begin(),commit()之類編程性交易管理方式

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.