项目开展到尾期,发生了一个很奇怪的问题,就是数据库Oracle会偶尔抛出Exception "违反唯一性约束".同样的数据多提交几次就通过了,我想这说明数据是没什么问题的,但是这个问题又是什么引起的呢?!!很是不解,不知各位有没有遇到过这样的问题?!希望各位大侠帮帮忙,我的项目采用的是struts,hibernate,oracle

解决方案 »

  1.   

    "xiaocao_2005 (小草)"你好!
    你的DB应该没有问题,我觉的问题应该是出现在你的应用层.
    当你往DB插入数据的时候,可能它隐性的的提交了两次,你好好查查相关代码,特别是在hibernate里.Thanks
    Hima
      

  2.   

    zxhcloth(hima) 谢谢你!!
    我再看看.但是为什么大部分时候又是好的呢?!
      

  3.   

    谢谢大家,问题找到了!
    是因为开发人员和测试人员用的是同一数据库服务器,但是用着不同的应用服务器.
    所以在同时新增同一张表的数据时而不在同一session会生成相同的id,而产生"违反唯一性约束"的异常.