首页 新闻 搜索 专区 学院

重新tomcat后,spring托管的主键自增表的数据有时候变为起始1

0
悬赏园豆:20 [待解决问题]

图上有两张表:EPMS_PRECAUTION_PLAN_ACTION和IDENTITY_GENERATOR,EPMS_PRECAUTION_PLAN_ACTION的ID是通过IDENTITY_GENERATOR获取的。

    程序方面:当通过前台页面对EPMS_PRECAUTION_PLAN_ACTION增加时,就会触发spring,因为 IDENTITY_GENERATOR表是交由spring来管理的,这是先会从IDENTITY_GENERATOR表中取出数据来实现 EPMS_PRECAUTION_PLAN_ACTION表中的ID增加,同时使IDENTITY_GENERATOR的数据增加,以此类推,但目前遇到 一个问题,为什么有的时候,IDENTITY_GENERATOR表中的数据为初始值1,这时,再通过前台页面对 EPMS_PRECAUTION_PLAN_ACTION增加时,由于表中的最大ID数值大于1,所以,后台会出现主键唯一约束的问题,同时增加失败。只 有把IDENTITY_GENERATOR中的数据手动改为EPMS_PRECAUTION_PLAN_ACTION表最大ID加1的值时,才正确了。

     问题是:只有图中“@TableGenerator(name = "idGenerator", table = "IDENTITY_GENERATOR", pkColumnName = "ENTITY_TYPE"这行代码操作了IDENTITY_GENERATOR表,而IDENTITY_GENERATOR表又是交给spring托管 的的,那什么情况会造成IDENTITY_GENERATOR表的数据为1呢,有没有优化的办法?只写文字有点乱,还请各位担待,如果是使用过这种方式来 实现表的主键自增的大侠们就会明白我的意思,坐等回答

还可以访问这个地址来回答:http://www.oschina.net/question/569785_83957

代俊建的主页 代俊建 | 初学一级 | 园豆:128
提问于:2012-12-19 12:03
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册