Что вы можете сделать, это добавить сервлет, настроенный для запуска (один раз) при запуске приложения.Этот сервлет может проверить, существует ли база данных, и, если нет, создать ее программно.Проверьте ответы на этот вопрос , чтобы увидеть, как этого можно достичь для MySQL.Если у вас есть работающий сервер, вы можете получить соединение и запустить SQL для создания базы данных.После этого необходимые таблицы и тому подобное можно автоматически создавать, используя подходящее свойство для вашей реализации JPA (как показано в Nulldevice для Hibernate).
Вы можете даже заставить сервлет найти файл persistence.xml, посколькув любом случае он должен находиться в определенном месте, и проанализировать его, чтобы найти несколько свойств, таких как URL, чтобы убедиться, что они определены только в одном месте.
В чем я не уверен, так это в том, будет ли JPA толькопопробуйте подключиться (и, возможно, создать таблицы) после запуска сервлета или узнать, как это можно сделать принудительно.Для этого вам, возможно, придется проверить жизненный цикл приложений JavaEE.Это также может зависеть от реализации, выполняемой поставщиком сервера приложений.