我正在将现有的 JPA/eclipselink 应用程序从 mysql 5.5 迁移到 mysql 5.6,并且我想继续使用 GTID 复制。
但是,MySQL 的全局事务标识符 (GTID) 文档调用了 specific limitations围绕临时表的使用。知道 eclipselink 在与 mysql 对话时使用临时表来执行各种更新/删除操作,我担心将它们一起使用会不兼容。
有谁知道 eclipselink(版本 2.5+)是否适用于 mysql 5.6 和 GTID 复制?
最佳答案
在这里回答我自己的问题...
我可以确认,至少对于我运行 eclipselink 2.5.2 的应用程序,GTID 复制确实会在 UpdateAll/DeleteAll 类型的 JPA 查询期间导致 SQL 异常。异常消息实际上是“表不存在”类型,其中在删除/更新执行期间未找到引用临时表(例如“TL_jobs”)。
我还可以确认,在从 GTID 复制转换为传统的 bin-log 位置复制之后,之前失败的相同 eclipselink UpdateAll 查询现在正在运行。
我现在想知道是否可以在 eclipselink 中做一些事情来解决临时表的使用问题。但是,那是另一章了。
关于mysql - eclipselink 和 mysql 的 GTID 复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32616086/