休眠为什么在插入和更新之前显示提交日志?

时间:2019-05-29 20:56:04

标签: java hibernate

休眠日志显示如下:

[debug] o.h.e.t.i.TransactionImpl - begin
do stuff...
[debug] o.h.e.t.i.TransactionImpl - committing
do more stuff... inserts, updates etc...
[debug] o.h.e.j.i.JdbcCoordinatorImpl - HHH000420: Closing un-released batch

应该“这样做”时

[debug] o.h.e.t.i.TransactionImpl - begin
do stuff...
do more stuff... inserts, updates etc...
[debug] o.h.e.t.i.TransactionImpl - committing

我将整个东西包装在一个事务中,所以我不认为这是我的代码有问题。我想念什么吗?

1 个答案:

答案 0 :(得分:0)

休眠模式具有3种状态:瞬态,持久性和分离状态。我认为从暂时状态更改为永久状态时,它将显示commit。但是,这并不意味着事务确实已提交。只是意味着对象已由Hibernate控制并准备好提交到数据库一段时间(取决于Hibernate内部机制)。如果我错了,请纠正我。