MySQL 只显示一些由 Hibernate 插入的数据

MySQL only shows some data that is inserted by Hibernate

我有一个 Java 应用程序,它通过 Hibernate 将数据从一个非常大的文本文件加载到 MySQL 中。到目前为止,应用程序似乎工作正常 - 数据已加载。

然后我想在插入数据时监视应用程序的进度,所以我编写了一个小的命令行实用程序,主要用于查询 select count(*) from my_table;.

这个查询第一次是 运行(来自 CLI 或 MySQL Workbench),我得到了正确的记录数,正如预期的那样。此查询的所有后续执行 return 完全相同的数字! 即使数据加载应用程序仍然 运行ning!

如果我停止并启动 MySQL 进程,查询记录数会显示 正确的 数字,因为数据加载应用程序会报告它。

我以前从未见过这样的事情。看起来这里出现了一些奇怪的 MySQL 缓存问题,我担心它可能会给其他可能想要访问该数据库的非 Hibernate 应用程序带来问题。

有谁知道如何调整 MySQL(或者可能是 Hibernate)以便 MySQL 总是 显示正在添加到数据库中的内容?

技术细节:

调用 FLUSH TABLES 似乎解决了这个问题,在刷新表后,我可以看到应用程序添加了多少条记录。