2017-10-12 161 views
0

所以我有這樣的實體:休眠更新實體不起作用

Twitch channel class

Channel command class

,當我嘗試更新TwitchChannel實體,調用Session.update(),沒有真的發生。它不會拋出異常或記錄任何事情,更新調用後的代碼不會被執行。我將hibernate的批量大小設置爲零,所以它不應該批量更新。在DAO

更新功能如下:

update channel function

channelDao.update()簡單地調用了Session.update()。

+0

這是99%不是,但一旦我遇到類似這樣的事情'@Transactional(readOnly = true,propagation = Propagation.REQUIRED)' - 在DAO類 – Pijotrek

+1

哦,操作後的代碼沒有得到執行?所以必須拋出一些異常。尋找'try {} catch()'塊 – Pijotrek

+0

你如何堅持或獲取第一個實體? –

回答

0

感謝到@Pijotrek,在try/catch塊包裝更新調用幫助和Hibernate實際上扔:

非法企圖的集合有兩個打開的會話

更換了Session.update(關聯)與session.merge()解決了問題!