0

我有以下代码在数据库中插入或更新 bean。我有一个静态函数,HibernateUtil它从 Hibernate 会话返回一个单例实例。

hibSession = HibernateUtil.currentSession();
hibSession.saveOrUpdate(bean);
hibSession.flush(); 

这是现有的代码,我想知道是否有任何理由让程序员使用刷新而不是简单地提交以及刷新究竟做了什么。

4

3 回答 3

1

flush() 方法将绑定到当前持久性上下文的修改与底层数据库同步。flush() 方法不会结束正在运行的事务。

flush() 方法的一种具体用法是强制执行数据库触发器或生成器逻辑(例如生成的 ID)。

于 2012-04-19T14:22:27.673 回答
1

flush 将数据库与 Hibernate 重新同步。如果您在表上设置了触发器,这将很有用。触发器将在刷新时运行,不需要事务提交()。

于 2012-04-19T14:22:32.637 回答
0

flush将 Hibernate 会话与数据库同步,commit结束数据库事务。

于 2012-04-19T14:19:56.627 回答