MySQL插入意外行

时间:2019-05-30 09:14:02

标签: java mysql hibernate jpa

我有一个具有MySQL后端的Java / JPA / Hibernate应用程序。数据库的一部分存储了从多个来源导入的产品数据,因此我们有导入记录和导入历史记录记录。进口记录显示,我们当天从该来源进口了一些产品,并且进口历史记录将进口与该进口期间进口的产品联系起来。这是因为该产品可能出现在多个导入中,因此保留了其出现时间和时间的历史记录。

purchased_product -< purchased_product_import_history >- import

最近,当我们创建新产品记录时,我们已经注意到一些非常奇怪的东西。它会创建一个新产品,并按预期的方式导入和导入历史记录,然后创建另一个历史记录条目,该条目指向一个完全不同的(已存在)导入。该伪造的导入记录始终相同(始终具有ID 188)。

  • 我们假设代码中指向188的内容:不。
  • 我们已经调试了创建新产品的Java代码中的操作。仅生成正确的导入历史记录。
  • 虚假关联似乎会立即创建
  • 我们已打开SQL日志记录(休眠SqlStatementLogger),并且只有一条insert语句并检查输入的值,它显示的是正确的导入ID,而不是假的。
  • 数据库中没有触发器或存储过程
  • 在添加产品期间,我们已打开mysql日志并浏览了整个日志,并且只有1条“ insert into Purchased_product_import_history”语句,而值188则无处可见。

我们可以肯定的是,现在不是Java代码和MySQL中的某种原因导致了插入,但是对于这是从何而来的想法。有人可以帮忙吗?

Java 8,MySQL 5.6.38

谢谢。

0 个答案:

没有答案