2015-09-16 14 views
1

Я выполняю миграцию существующего приложения JPA/eclipselink из mysql 5.5 в mysql 5.6, и я хотел бы использовать репликацию GTID в будущем.Репликация eclipselink и mysql GTID

Однако документация MySQL для глобальных идентификаторов транзакций (GTID) вызывает specific limitations вокруг использования временных таблиц. Зная, что eclipselink использует временные таблицы для выполнения различных операций обновления/удаления при разговоре с mysql, меня беспокоит наличие несовместимости, использующей их вместе.

Кто-нибудь знает, будет ли eclipselink (версия 2.5+) работать с mysql 5.6 и репликацией GTID?

ответ

1

Отвечая на мой собственный вопрос здесь ...

Я могу подтвердить, по крайней мере, мое приложение работает EclipseLink 2.5.2, что репликация GTID действительно вызывает исключения SQL во время UpdateAll/DeleteAll типа JPA запросов. Исключительные сообщения на самом деле были «таблицей не существует», где эталонная временная таблица (например, «TL_jobs») не найдена во время выполнения удаления/обновления.

Я также могу подтвердить, что после преобразования из репликации GTID в традиционную реляционную запись в бин-логе теперь работают те же самые проблемы с исправлением, которые ранее не выполнялись.

Мне интересно, есть ли что-то, что можно было бы сделать внутри eclipselink, чтобы обойти использование временных таблиц. Но это еще одна глава.