hibernate保存对象时你可能遇见的棘手的bug

原创 2015年11月20日 16:32:30
我在最近工作的时候用hibernate保存方法的时候遇见了这样的一个问题,执行保存方法时某字段为“0”,debug跟时显示也为“0”,但全部方法执行完后在数据库中该字段却变成了“1000”,在日志中打印出来插入的值也是“1000”,甚是费解!你可能也会遇见这样的问题,然后一遍遍的清理缓存,一遍遍的重启IDE,以为不是代码的问题。之前我也这么以为。但是后来发现,在执行保存方法之后,我另外一个方法操作了那个对象,并改变了值。所以导致了前面那个奇怪的bug。原来hibernate是在最后提交事务的时候,才把执行保存方法的对象的值写入数据库,并不是在执行保存方法那一刻结束就把要保存的值写入数据库(或者写入缓存)中的。在执行保存方法后,该对象的值依然可以任意改变!所以在使用hibernate的时候一定要注意对对象的使用,对相同对象进行操作的时候最好重新new一个并拷贝之前的数据,这样可以防止多个方法调用一个对象导致的奇怪bug。最后我也是重新new了一个对象,解决的这个bug,分享一下~鸣谢解决bug的组长航哥~~
版权声明:本文为博主原创文章,未经博主允许不得转载。

hibernate的小bug

Hibernate的小BUG 1、在测试对象导航的   //创建一个客户,三个联系人   Customer customer = new Customer();   customer.setC...
  • a742531580
  • a742531580
  • 2017年02月16日 22:02
  • 95

解决hibernate order by bug

1.在hibernate.cfg.xml添加配置如下:        com.xxx.common.MyOracle10gDialect     2.代码: package com.k...
  • tedpenk
  • tedpenk
  • 2014年03月26日 17:44
  • 528

hibernate对union查询bug

union关键词的介绍union 是对多个select查询的结果进行组合 以union 连接两个select语句为例两个select语句单独排序: union左右的select语句中如果谁有ord...
  • saber_6789
  • saber_6789
  • 2016年09月25日 18:02
  • 437

【Hibernate】将对象保存到数据库表中

上一篇文章简单介绍下了Hibernate的基本原理,这篇文章主要介绍下Hibernate的使用,将对象保存到数据库的表中的流程。 一、搭建hibernate环境       将hibernate的ja...
  • hanxintong9
  • hanxintong9
  • 2016年02月17日 20:56
  • 3951

Hibernate基础(二)——保存一个对象

做过的SSH项目也不少了,但由于没有从基础开始系统的学习过SSH,所以趁这次的学习机会,总结一下有关SSH最基础的一些技术点。 这篇博客来总结利用hibernate来保存一个对象。 一、宏观把...
  • wangyy130
  • wangyy130
  • 2015年12月28日 18:31
  • 2423

关于hibernate的对象保存问题

        要往数据库添加一条记录一般做法是new一个这个类的实例,然后给这个对象赋值,然后调用getHibernateTemplate().save(objs);由于要保存的对象和数据库里的一条...
  • s_ongfei
  • s_ongfei
  • 2008年12月14日 19:37
  • 2254

hibernate3保存对象为什么必须使用事务

    今天在csdn上看到一个特别有趣的话题,hibernate3为什么必须使用事务才能保存对象,我相信这个问题对很多人来说都非常困惑包括我自己,于是挂上hibernate源码,一直跟踪最底层,也没...
  • sunyujia
  • sunyujia
  • 2008年06月07日 14:18
  • 4883

hibernate第一个例子,保存一个对象

首先,我们先要编写一个pojo,继续拿老生常谈的Person类(不了解pojo的可以看我上一篇帖子:关于ormapping)。 环境的配置: 导入jar包: 由于这里是Java Projec...
  • andy_px
  • andy_px
  • 2015年09月01日 23:20
  • 681

hibernate中对象的保存

hibernate的保存hibernate对于对象的保存提供了太多的方法,他们之间有很多不同,这里细说一下,以便区别:一、预备知识:在所有之前,说明一下,对于hibernate,它的对象有三种状态,t...
  • datouuupp
  • datouuupp
  • 2010年03月08日 21:58
  • 8824

关于Hibernate save方法执行之后得到的id与数据库中实际存入值的id不一致的问题

今天在写一个程序时,发生了件很奇怪的事,以前一直没有注意到。 这次的级联操作我不用hibernate帮我来做,我想自己实现它,所以我在service层的第二个操作之前得到第一个操作的id。 试验几...
  • angus_17
  • angus_17
  • 2012年09月05日 15:46
  • 5519
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:hibernate保存对象时你可能遇见的棘手的bug
举报原因:
原因补充:

(最多只允许输入30个字)