轮询报错: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry 'a270963e847b4d89956ba2e4f76bee55' for key 'MAC'
MAC是建立在 流水号 上的索引,感觉是和hibernate的事务有关,谢谢解答
轮询报错: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry 'a270963e847b4d89956ba2e4f76bee55' for key 'MAC'
MAC是建立在 流水号 上的索引,感觉是和hibernate的事务有关,谢谢解答
MAC是唯一索引,这里报的异常是指插入了相同的值导致唯一索引冲突,属于数据库层面的异常。
至于为什么造成这个异常,得看代码层面是怎样写的。
怀疑是这个轮询过程有问题,可能还没等第一次请求返回,第二次请求就发出了,然后传入的参数是重复的,导致重复插入异常。
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答6k 阅读
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
3.7k 阅读
1 回答4.3k 阅读✓ 已解决
2 回答1.6k 阅读✓ 已解决
2 回答3k 阅读
2 回答508 阅读✓ 已解决
不会跟
hibernate
有关系的。MySQLIntegrityConstraintViolationException
外键约束冲突。是数据库层面出错了。可以通过堆栈确定一下调用过程,如果没有
insert/update
操作是不会出现这个问题的。你给的逻辑我也看不出啥原因。你可以将错误逻辑使用
try catch包起来
,在catch中增加条件断点e.getClass().getName().contains("MySQLIntegrityConstraintViolationException")
当出现错误时与分析一下现有的数据,我想很快会定位出问题的。