mysql - eclipselink 和 mysql 的 GTID 复制

标签 mysql jpa eclipselink gtid

我正在将现有的 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/

相关文章:

php - Laravel:从 MySQL 查询中获取单个值

jpa - Ebean ManyToOne 映射 CRUD

java - 来自 JavaSE 和 JPA 的 DBCP(数据库连接池)

java - @OneToOne 删除一个 child

mysql - my.cnf.d/server.cnf 配置 - 破折号或下划线

php - bool 值在mysql中另存为tinyint(1)

java - JPA 为我未访问的相关实体运行数百个选择

java - EclipseLink MOXy JSON 序列化

php - mysql查询查找某天营业的店铺名称

java - 如何通过Hibernate向mysql表添加数据(一对多)