org.hibernate.TransactionException: Transaction not successfully started
最近一直遇到這個Exception,查了一下Google都說明像是以下的狀況:
因為兩個transaction是相同的,所以tx1.commit()就會拋出Exception了.
但實際情形卻是複雜許多,A資料使用persist的方式新增,B資料也使用persist方式新增,但A資料有設定insvere=true給B,所以在B呼叫persist的時候會將A資料先給commit了,就等於是tx2.commit()的效果,所以tx1.commit()就會噴Exception了!!
最近一直遇到這個Exception,查了一下Google都說明像是以下的狀況:
Transaction tx1 = session.beginTransaction();
Transaction tx2 = session.beginTransaction();
tx2.commit();
tx1.commit();
因為兩個transaction是相同的,所以tx1.commit()就會拋出Exception了.
但實際情形卻是複雜許多,A資料使用persist的方式新增,B資料也使用persist方式新增,但A資料有設定insvere=true給B,所以在B呼叫persist的時候會將A資料先給commit了,就等於是tx2.commit()的效果,所以tx1.commit()就會噴Exception了!!