Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Hibernate.update是否需要重试?_Java_Hibernate - Fatal编程技术网

Java Hibernate.update是否需要重试?

Java Hibernate.update是否需要重试?,java,hibernate,Java,Hibernate,我需要确保对实体的更新不会出现间歇性问题,如网络错误 通过调用getSession().update(object)保存实体wheregetSession()返回当前休眠会话 是否需要将update语句包装为重试?或者Hibernate提供了某种保证吗?您可以将它放在一个try-catch块中,并在失败时采取补偿措施。例如,您可以将失败写入消息队列,以便稍后处理。您可以将代码包围在try-catch块中。如果对象未更新,则当发生异常时,它将回滚事务,您可以在catch块中处理。像下面 Sessi

我需要确保对实体的更新不会出现间歇性问题,如网络错误

通过调用
getSession().update(object)保存实体
where
getSession()
返回当前休眠会话


是否需要将
update
语句包装为重试?或者Hibernate提供了某种保证吗?

您可以将它放在一个try-catch块中,并在失败时采取补偿措施。例如,您可以将失败写入消息队列,以便稍后处理。

您可以将代码包围在try-catch块中。如果对象未更新,则当发生异常时,它将回滚事务,您可以在catch块中处理。像下面

Session sess = factory.openSession();
 Transaction tx;
 try {
     tx = sess.beginTransaction();
     sess.update(someobject);
     tx.commit();
 }
 catch (Exception e) {
     if (tx!=null)
     tx.rollback();
     throw e;
 }
 finally {
     sess.close();
 }

谢谢我可能应该把我的问题写得更好。我知道我可以用try/catch来概括它,但我想了解更多关于hibernate或连接池可能提供的任何保证的信息。如果你能帮忙的话,我已经重写了一个单独的问题:谢谢。我可能应该把我的问题写得更好。我知道我可以用try/catch来概括它,但我想了解更多关于hibernate或连接池可能提供的任何保证的信息。如果您能提供帮助,我已经改写了一个单独的问题: