学习是最好的投资!
不会跟hibernate有关系的。hibernate有关系的。MySQLIntegrityConstraintViolationException 外键约束冲突。是数据库层面出错了。可以通过堆栈确定一下调用过程,如果没有insert/update操作是不会出现这个问题的。
hibernate
MySQLIntegrityConstraintViolationException
insert/update
你给的逻辑我也看不出啥原因。你可以将错误逻辑使用try catch包起来,在catch中增加条件断点e.getClass().getName().contains("MySQLIntegrityConstraintViolationException")MySQLIntegrityConstraintViolationException 外键约束冲突。是数据库层面出错了。可以通过堆栈确定一下调用过程,如果没有insert/update操作是不会出现这个问题的。
try catch包起来
e.getClass().getName().contains("MySQLIntegrityConstraintViolationException")
MAC是唯一索引,这里报的异常是指插入了相同的值导致唯一索引冲突,属于数据库层面的异常。
至于为什么造成这个异常,得看代码层面是怎样写的。
怀疑是这个轮询过程有问题,可能还没等第一次请求返回,第二次请求就发出了,然后传入的参数是重复的,导致重复插入异常。
上面两个说的很清楚了.. 这是你业务层面没控制好导致的错误,具体为何导致只能拥有代码的人才能解决了。
不会跟
hibernate
有关系的。hibernate
有关系的。MySQLIntegrityConstraintViolationException
外键约束冲突。是数据库层面出错了。可以通过堆栈确定一下调用过程,如果没有
insert/update
操作是不会出现这个问题的。你给的逻辑我也看不出啥原因。你可以将错误逻辑使用
try catch包起来
,在catch中增加条件断点e.getClass().getName().contains("MySQLIntegrityConstraintViolationException")
MySQLIntegrityConstraintViolationException
外键约束冲突。是数据库层面出错了。可以通过堆栈确定一下调用过程,如果没有
insert/update
操作是不会出现这个问题的。🎜你给的逻辑我也看不出啥原因。你可以将错误逻辑使用
try catch包起来
,在catch中增加条件断点e.getClass().getName().contains("MySQLIntegrityConstraintViolationException")
🎜当出现错误时与分析一下现有的数据,我想很快会定位出问题的。🎜MAC是唯一索引,这里报的异常是指插入了相同的值导致唯一索引冲突,属于数据库层面的异常。
至于为什么造成这个异常,得看代码层面是怎样写的。
怀疑是这个轮询过程有问题,可能还没等第一次请求返回,第二次请求就发出了,然后传入的参数是重复的,导致重复插入异常。
上面两个说的很清楚了.. 这是你业务层面没控制好导致的错误,具体为何导致只能拥有代码的人才能解决了。