使用Hibernate保存数据的问题、数据库MySql
问题:
有三张表A、B、C
1、A保存帐户的基本信息及账户一些数据的统计信息,B、C表保存帐户的一些日志信息
2、A表的字段有三十多个,缺省设置不是很完善,有的有默认值,有的没有,B、C各有十多个字段,都有默认值
3、使用Hibernate在一个事务里面修改A表、并向B、C插入数据
问题是B、C表已经插入数据了、但A表的数据却没有修改
发生的概率比较小、但发生一次就引发数据的不一致了
不知道是怎么引起的、请指点
是不是跟Hibernate保存数据的方式有关、每次都要检测整个对象、或者是因为服务器太繁忙的关系、还是表的设计有问题?

解决方案 »

  1.   

    这个说不清,要看你的日志是怎么记录的,
    触发器,还是程序?
    B,C两个表中的数据,关联到A表的数据字段,
    你这个不一致,应该引入事务,不管是网络关系,还是其他什么原因,没完成就应该回滚数据。
      

  2.   

    使用Hibernate在一个事务里面修改A表、并向B、C插入数据
    -------------------
    1这一步实现的时候是否有bug
    2有可能上面说的地方是对的,但是系统其他的方的逻辑有问题,造成了数据的不一致
      

  3.   

    请确认你表之间的关系,查看xml映射文件中,是不是设好了cascade