Токен, используемый для разделения операторов, зависит от используемой платформы DatabasePlatform.
Я предполагаю, что вы используете Oracle, так как из кода он кажется единственным, который не использует разделитель, хотя я не уверен, почему.
Каким инструментом вы пользуетесь для выполнения скрипта? Похоже на ошибку, которая ";" не используется для Oracle, пожалуйста, зарегистрируйтесь в EclipseLink и проголосуйте за него.
Чтобы обойти эту проблему, создайте свой собственный подкласс OraclePlatform и переопределите его,
getStoredProcedureTerminationToken() {
return ";"
}
(пожалуйста, укажите в ошибке, что для DDL должен использоваться другой метод, а не StoredProcedureTerminationToken.
Вы можете установить свою платформу, используя свойство "eclipselink.target-database".