2017-10-12 160 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()解决了问题!