hibernate 数据不一致
- 作者: 若无相见怎会遇见65244452
- 来源: 51数据库
- 2021-01-19
你所看到的数据库没反映并不是说数据库没有进行任何的更改
而是数据同步的问题
就像你同时打开两个超作数据库的窗口
在其中一个插入数据,不commit,在另外的窗口就查询不出来
但是在插入窗口是可以查询出来的
hibernate就像是你开的第二个窗口
当然楼上说的很对不修改数据库的数据是不会存在数据不同步的说法的。
这不是hibernate本身的问题哦
建议你看下数据库的知识哦
另外,站长团上有产品团购,便宜有保证
我个人觉得是你这里的getcurrentsession没有提交事务,导致执行了更新操作 但实际底层没有提交事务,意思就是说最终没有进行commit 而不是你说的线程延迟什么问题。
getcurrentsession()和opensession() 的区别重点不是在于线程问题,而是管理事务回滚问题。
比如你用getcurrentsession取了当前session,当你循环list
而是数据同步的问题
就像你同时打开两个超作数据库的窗口
在其中一个插入数据,不commit,在另外的窗口就查询不出来
但是在插入窗口是可以查询出来的
hibernate就像是你开的第二个窗口
当然楼上说的很对不修改数据库的数据是不会存在数据不同步的说法的。
这不是hibernate本身的问题哦
建议你看下数据库的知识哦
另外,站长团上有产品团购,便宜有保证
我个人觉得是你这里的getcurrentsession没有提交事务,导致执行了更新操作 但实际底层没有提交事务,意思就是说最终没有进行commit 而不是你说的线程延迟什么问题。
getcurrentsession()和opensession() 的区别重点不是在于线程问题,而是管理事务回滚问题。
比如你用getcurrentsession取了当前session,当你循环list
推荐阅读
