Как ни странно, я сделал именно это, используя OSGi, Equinox и EclipseLink, но это не тривиально. По сути, пользовательский пакет берет все файлы persistence.xml из всех разрешенных пакетов, объединяет их в один файл persistence.xml, который используется для инициализации поставщика устойчивости EclipseLink. Кроме того, есть несколько пользовательских хуков, которые позволяют мне указать f.e. Варианты подключения отдельно для разработки и развертывания.
Недостатки: попрощайтесь с персистентностью, управляемой контейнером, но все еще возможно присоединение к транзакциям. Кроме того, некоторые инструменты бурно реагируют на перекрестные ссылки на сущности. Кроме того, если вы добавляете новый пакет с новыми объектами, вам необходимо заранее настроить базу данных с соответствующими таблицами, ссылками, индексами и ограничениями.
Преимущества: добавьте новый пакет, посмотрите, как он работает сразу, динамически, без перезапуска контейнера.