SSH主键冲突问题!

系统用的是SSH框架:

我系统登录、退出要写入数据库日志。
有时候很偶然的在退出时写数据库日志报错。
错误是日志表主键冲突,可怎么也想不明白为什么冲突。
这时候再登陆也登陆不进去了,因为也要插入日志表,还是主键冲突。
过10多分钟吧,才能正常登陆,退出也正常了。

1.主键生成方式无论是native还是increament都会报相同的错误(偶尔)
2.SSH集成了hibernate和Spring的JdbcTemplate,由Spring共同管理事务
3.不知道是不是事务的问题,不过在系统其它地方操作数据库的地方没有发现这样的问题。

配置代码:
[code="ruby"]













org.hibernate.dialect.OracleDialect
false




    </list>
</property>












PROPAGATION_REQUIRED


[/code]

1个回答

最好在自己机器上debug一下,看看登录或是退出时生成的主键是否数据库里已经存在了。看看是不是其他地方约定了主键的生成。采用increament是不会出现上面的问题的。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问