Попробуйте это в файле OrderHistoryTable.php:
$this->setTable('default_history.order_history');
Существует шанс, он будет работать при помещении новой банки ранее в путь к классу, чем исходная банка. Это стоит попробовать, хотя это все еще походит на залог провала - или по крайней мере, действительно трудно для отладки проблем, если так или иначе оба класса загружаются.
Править: Я запланировал записать этот бит ранее, но был прерван к концу поездки на поезде...
Я вернулся бы к клиенту и объяснил бы, что, в то время как то, что они спрашивают, возможно, это может вызвать неожиданные проблемы. Обновление файла банки является намного более безопасной фиксацией с намного меньшим количеством риска. Фразы "неожиданные проблемы" и "риск", вероятно, вызовут тревогу с клиентом, так надо надеяться, они позволят Вам сделать правильную вещь.
Да и не, это зависит от Вашей среды.
Если Вы используете, например, OSGi и имеете Ваши версии под управлением, это - просто вопрос установки нового пакета с экспортируемым пакетом в старшей версии (предполагающий, что Ваши диапазоны версии достаточно снисходительны).
При использовании простого Java без необычной пользовательской загрузки класса необходимо быть хорошими для движения, поместив его раньше путь к классу (как другие, уже упомянутые).
Если у Вас действительно будет пользовательская загрузка класса, то необходимо будет удостовериться, что все классы, в которых 'исправленный' класс нуждается, и действительно вся переходная оболочка зависимости, видимы от загрузчика класса, который загружает исправленную версию, которая могла бы означать, что необходимо поставить целое приложение, худший случай.
Все ответы, которые предусматривают помещение обновленных классов перед теми, которые они заменяют в пути к классу, корректны, только если исходный JAR не изолируется или подписывается.
Да, это может быть возможно путем помещения его раньше путь к классу, чем исходная банка. Однако доверие упорядочиванию Вашего пути к классу не всегда собирается привести к счастью. Я не уверен, документируется ли это даже в Спецификацию Языка Java; в противном случае затем это собирается повредиться для другого JVMs и даже различных версий той же JVM.
Вместо этого полагайте, что заключение в кавычки реалистического периода времени интегрирует новую возможность в текущую кодовую базу. Это - возможно, не ответ, который Вы ищете.