n'a rien à voir avec hibernate. MySQLIntegrityConstraintViolationException Violation de contrainte de clé étrangère. Il y a une erreur au niveau de la base de données. Vous pouvez déterminer le processus appelant via la pile. S'il n'y a pas d'opération insert/update, ce problème ne se produira pas.
Je ne vois aucune raison dans la logique que vous avez donnée. Vous pouvez utiliser try catch包起来 pour la logique d'erreur et ajouter points d'arrêt conditionnels dans catch e.getClass().getName().contains("MySQLIntegrityConstraintViolationException") Lorsqu'une erreur se produit, analysez les données existantes. Je pense que le problème sera bientôt localisé.
MAC est un index unique. L'exception signalée ici fait référence à un conflit d'index unique provoqué par l'insertion de la même valeur, ce qui est une exception au niveau de la base de données.
Quant à la raison pour laquelle cette exception est provoquée, cela dépend de la façon dont le code est écrit.
On soupçonne qu'il y a un problème avec ce processus d'interrogation. La deuxième requête peut avoir été envoyée avant le retour de la première requête, puis les paramètres transmis sont répétés, ce qui entraîne une exception d'insertion répétée.
Les deux points ci-dessus sont très clairs. Il s'agit d'une erreur causée par votre incapacité à contrôler le niveau métier. Plus précisément, seules les personnes possédant du code peuvent la résoudre.
n'a rien à voir avec
hibernate
.MySQLIntegrityConstraintViolationException
Violation de contrainte de clé étrangère.Il y a une erreur au niveau de la base de données. Vous pouvez déterminer le processus appelant via la pile. S'il n'y a pas d'opération
insert/update
, ce problème ne se produira pas.Je ne vois aucune raison dans la logique que vous avez donnée. Vous pouvez utiliser
try catch包起来
pour la logique d'erreur et ajouter points d'arrêt conditionnels dans catche.getClass().getName().contains("MySQLIntegrityConstraintViolationException")
Lorsqu'une erreur se produit, analysez les données existantes. Je pense que le problème sera bientôt localisé.
MAC est un index unique. L'exception signalée ici fait référence à un conflit d'index unique provoqué par l'insertion de la même valeur, ce qui est une exception au niveau de la base de données.
Quant à la raison pour laquelle cette exception est provoquée, cela dépend de la façon dont le code est écrit.
On soupçonne qu'il y a un problème avec ce processus d'interrogation. La deuxième requête peut avoir été envoyée avant le retour de la première requête, puis les paramètres transmis sont répétés, ce qui entraîne une exception d'insertion répétée.
Les deux points ci-dessus sont très clairs. Il s'agit d'une erreur causée par votre incapacité à contrôler le niveau métier. Plus précisément, seules les personnes possédant du code peuvent la résoudre.