当你调用session.flush()时,Hibernate中的哪个FlushMode会提交?

时间:2012-11-30 08:52:32

标签: java hibernate commit

我读到对session.flush()的调用是否提交取决于所设置的FlushMode。但是,我不知道FlushMode这是做什么的。我希望会话被刷新并提交。我应该使用哪种FlushMode?

2 个答案:

答案 0 :(得分:2)

反过来说。你可以在调用commit时刷新。这些是Hibernate中的flushmodes:FlushModes

ALWAYS

在每次查询之前刷新会话。

AUTO

在查询执行之前,有时会刷新会话,以确保查询永远不会返回失效状态。

COMMIT

调用Transaction.commit()时刷新会话。

MANUAL

只有在应用程序显式调用Session.flush()时才会刷新会话。


我认为你在寻找AUTO。因此会话在Commit

上刷新

答案 1 :(得分:0)

反之亦然 - Hibernate是否在提交时刷新取决于FlushMode