如何解决Hibernate更新出错的问题

这篇文章主要介绍“如何解决Hibernate更新出错的问题”,在日常操作中,相信很多人在如何解决Hibernate更新出错的问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何解决Hibernate更新出错的问题”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

今天在项目里遇到这样一个问题,使用Hibernate进行修改操作saveOrUpdate()或者是update()时出了这样一个错误,即Hibernate更新出错。根据异常信息的字面意思,大致意思是说, 在一个session对象中同时存在着重复的相同标识的却是不同的对象。

我遇到的情况是这样的,客户端进行插入操作,这个时候所插入的这个对象缓存在session中,而用户在插入后又对同一个对象,进行修改操作,那么这个时候,同样标识的一个对象又发送到服务端,那么一个session中就存在了两个标识相同的对象,而对象中的内容却不一样,所以Hibernate会报这个错,同样是Hibernate更新出错。那么针对于这种Hibernate更新出错,该如何解决呢?

应该有许多种方法,这里我用了session.clear()在每次更新操作之前,先把session清空掉。代码如下:

public int saveOrUpdate(String classPath, Object obj) {         try {                  getSession().saveOrUpdate(classPath, obj);       //每次操作之后清空session       getSession().flush();         getSession().clear();           } catch (RuntimeException re) {      re.printStackTrace();     }   }

这只是对我所遇到的Hibernate更新出错问题的解决办法之一,如果哪里说的不正确希望大家批评指正,互相学习。

到此,关于“如何解决Hibernate更新出错的问题”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!