java - 如何解決Hibernate的多線程問題?
問題描述
我有一個(gè)頁面,要實(shí)現(xiàn)一個(gè)功能,觸發(fā)這個(gè)功能會同時(shí)執(zhí)行兩個(gè)java函數(shù)從而觸發(fā)兩個(gè)Hibernate操作,執(zhí)行該功能后,系統(tǒng)時(shí)不時(shí)地會發(fā)出這一個(gè)Exception:
org.hibernate.TransactionException: Transaction not successfully started
我個(gè)人覺得是因?yàn)閟ession被前一個(gè)Hibernate操作給關(guān)了,導(dǎo)致后一個(gè)操作的transaction就沒法執(zhí)行。百度之后,試過這么一個(gè)方法,但是好像沒有用:
<property name='hibernateProperties'> <props><prop key='hibernate.autoReconnect'>true</prop> </props></property>
所以,來請高人可以指點(diǎn)指點(diǎn)。
問題解答
回答1:具體看你代碼是啥,你的觸發(fā)究竟是多線程的還是只是在同一個(gè)線程里面,執(zhí)行了兩個(gè)不同的方法而已比如,service.method1,service.method2,事務(wù)的切面在service層,那這兩個(gè)方法事務(wù)就是獨(dú)立的,
相關(guān)文章:
1. javascript - 按鈕鏈接到另一個(gè)網(wǎng)址 怎么通過百度統(tǒng)計(jì)計(jì)算按鈕的點(diǎn)擊數(shù)量2. sql語句 - 如何在mysql中批量添加用戶?3. mysql 可以從 TCP 連接但是不能從 socket 鏈接4. mysql - PHP定時(shí)通知、按時(shí)發(fā)布怎么做?5. 怎么php怎么通過數(shù)組顯示sql查詢結(jié)果呢,查詢結(jié)果有多條,如圖。6. mysql - JAVA怎么實(shí)現(xiàn)一個(gè)DAO同時(shí)實(shí)現(xiàn)查詢兩個(gè)實(shí)體類的結(jié)果集7. 事務(wù) - mysql共享鎖lock in share mode的實(shí)際使用場景8. mysql建表索引問題求助9. mysql - 數(shù)據(jù)庫建字段,默認(rèn)值空和empty string有什么區(qū)別 11010. mysql 非主鍵做范圍查找實(shí)現(xiàn)原理的一點(diǎn)困惑
