2011-02-01 38 views
2

我正在使用Hibernate來執行我的ORM東西w/HSQL進行測試。看起來連接被提取來做插入然後返回。在HIbernate獲得連接之後,嘗試從HSQL獲取標識,但返回0,這顯然是錯誤的。如何修復HSQL DataSource + TxM身份始終返回0

當我正在運行w/out tm和數據源使用普通池連接一切正常,但與新tm + ds我得到這個問題。

+0

確定在持久性上下文已經刷新到數據庫之後,您是否正在查詢身份?在此之前,Hibernate並不保證對生成器的訪問,通常這發生在關閉事務或關閉會話時。另外,你使用的是什麼身份生成器策略? – Pace 2011-02-09 04:58:40

回答

0

答案是DataSource應該知道tx,以便連接對於每個新的tx都是粘性的。原來的問題是用於獲取新行的身份的不同連接,當然這會導致返回0。如果連接對於初始插入和呼叫標識保持粘性,則一切正常。

+0

嘿mP,你能詳細說明你的答案嗎?我有類似的問題,我嘗試了不同的解決方案,以利用。我怎樣才能讓DataSource tx知道? – 2012-04-09 13:19:17