1

我正在将现有的 JPA/eclipselink 应用程序从 mysql 5.5 迁移到 mysql 5.6,并且我想继续使用 GTID 复制。

但是,MySQL 的 Global Transaction Identifiers (GTID) 文档提出了有关使用临时表的特定限制。知道 eclipselink 在与 mysql 交谈时使用临时表来执行各种更新/删除操作,我担心将它们一起使用会不兼容。

有谁知道 eclipselink(2.5+ 版)是否可以与 mysql 5.6 和 GTID 复制一起使用?

4

1 回答 1

1

在这里回答我自己的问题......

我可以确认,至少对于运行 eclipselink 2.5.2 的应用程序,GTID 复制确实会在 UpdateAll/DeleteAll 类型的 JPA 查询期间导致 SQL 异常。异常消息实际上是“表不存在”类型,其中在删除/更新执行期间找不到引用临时表(例如“TL_jobs”)。

我还可以确认,在从 GTID 复制转换为传统的 bin-log 位置复制之后,之前失败的相同 eclipselink UpdateAll 查询现在正在工作。

我现在想知道是否可以在 eclipselink 中做一些事情来解决临时表的使用问题。但是,那是另一章了。

于 2015-09-18T15:07:20.420 回答