Java 如何检查hibernate更新是否已完成?

Java 如何检查hibernate更新是否已完成?,java,mysql,hibernate,stored-procedures,Java,Mysql,Hibernate,Stored Procedures,我有一个for循环,它调用另一个方法,该方法使用hibernate将数据保存到临时表中。在for循环之后,我有一个调用存储过程的代码,将临时表中保存的数据复制到活动表中。但是,在hibernate开始保存数据之前会首先调用存储过程,即使保存数据的代码在存储过程之前也是如此。因此,当我查询活动表时,数据不在那里。在调用存储过程之前,是否有方法等待hibernate完成更新?Hibernate似乎先等待for循环完成,然后再更新数据库,这可能就是我调用存储过程时结果为空的原因。有人能帮我解决这个问题

我有一个for循环,它调用另一个方法,该方法使用hibernate将数据保存到临时表中。在for循环之后,我有一个调用存储过程的代码,将临时表中保存的数据复制到活动表中。但是,在hibernate开始保存数据之前会首先调用存储过程,即使保存数据的代码在存储过程之前也是如此。因此,当我查询活动表时,数据不在那里。在调用存储过程之前,是否有方法等待hibernate完成更新?Hibernate似乎先等待for循环完成,然后再更新数据库,这可能就是我调用存储过程时结果为空的原因。有人能帮我解决这个问题吗?非常感谢

这是我的密码:

for(Object1 obj: obj1List){
saveHibernateObj(obj);
}

getCurrentSession().createSQLQuery("Call update_object()").executeUpdate();

在调用存储过程之前,应该通过调用session.flush()方法使hibernare会话刷新

saveHibernateObj()如何工作?您能让saveHibernateObj()返回一个成功或失败的值(0,1),然后仅在结果为成功(0)时调用您的存储过程吗?我这样做了,但不起作用。丹尼尔的答案奏效了。谢谢你的评论。