2013-12-23 36 views
1

我剛剛從4.2.8升級到4.3.0,我沒有得到例外「非法嘗試設置非鎖定模式在非-SELECT查詢「。該查詢是一個簡單的@NamedQuery,它執行更新操作。任何想法,我應該看看爲什麼這個WAS工作在4.2.8而不是在4.3.0?休眠4.3.0.Final和非法嘗試設置鎖定模式的非SELECT查詢

謝謝!

+0

對我來說,完全一樣的問題。你把這件事整理出來了嗎?看起來這個修復不會在下一個休眠版本發佈。 –

回答

0

看起來這是由this change造成的。有人在this bug report中報告了與您的問題類似的問題,並提交了仍處於待處理狀態的拉取請求。

1

這是4.3.0.Final驅動程序中的一個錯誤。我只能找到一種解決方案。由於4.3.0支持NamedNativeQueries中的命名參數(以及in子句中的集合命名參數),因此您可以簡單地將這些查詢重寫爲Native Queries。然後它會工作。

對我來說,可怕的事情當然是在Hibernate EntityManager單元測試中,它們必須沒有一個單元測試在NamedQuery中執行更新查詢。怎麼會這樣?我不知道。我沒有看過代碼,看看他們的測試覆蓋是什麼樣子。但只有一個人會顯示迴歸。