2011-05-18

[JPA] 多個EntityManager Transaction Commit 的Insert Select 問題

[狀況]
最近寫到一個 business logic , 大致的邏輯是這樣
1. Insert Data To TableA
2. Insert Data To TableB
3. Insert Data to TableC Where Select Data From TableA join TableB

之前寫過一次, 用 eclipse JPA 可以在同一個 transaction 中完程. 如果採用 Hibernate 則 第三個步驟是沒有辦法產生的. 所以之前問題有解決.

不過今天遇到, EntityManagerA for 1,3, EntityManagerB for 2.
在同一個 transaction 中, TableC 只會有 TableA 的資料, 不會出現TableB

[實驗結果]
在第一個 transaction 中, 只包含 1, 2 , 第二個transaction 包涵 3 . 則 TableC 中會出現該有的資料, 而不會有遺漏

沒有留言:

張貼留言