今天在项目里遇到这样一个问题,使用Hibernate进行修改操作saveOrUpdate()或者是update()时出了这样一个错误,即Hibernate更新出错。根据异常信息的字面意思,大致意思是说, 在一个session对象中同时存在着重复的相同标识的却是不同的对象。
顺河网站建设公司成都创新互联,顺河网站设计制作,有大型网站制作公司丰富经验。已为顺河上1000家提供企业网站建设服务。企业网站搭建\外贸网站建设要多少钱,请找那个售后服务好的顺河做网站的公司定做!
我遇到的情况是这样的,客户端进行插入操作,这个时候所插入的这个对象缓存在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更新出错的解决
网页网址:http://www.csdahua.cn/qtweb/news13/73263.html
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网