eclipselink без файла persistence.xml и нескольких файлов persistence.xml
Привет, я пытаюсь разработать приложение JPA с использованием EclipseLink. Я пытаюсь создать его без файла persistence.xml или, по крайней мере, модуль сохранения будет создан во время выполнения. Итак, у меня есть пустой (или, скорее, фиктивный) файл persistence.xml для начала. Я посмотрел на этот пост eclipselink без файла persistence.xml, но после отладки я заметил, что EL вынуждает объявить как минимум имя PU и все другие параметры могут быть установлены (включая провайдера) во время выполнения. Есть ли способ, PU может быть создан только во время выполнения? Я пытаюсь создать несколько PU на основе количества категорий в приложении, которое известно только во время выполнения.
В настоящее время я перезаписываю все остальные параметры, кроме имени (которое я не могу перезаписать), и создаю фабрику EM для каждой категории.
Заранее спасибо,
Гопи
1 ответ
JPA определяет createContainerEntityManagerFactory(информация PersistenceUnitInfo, свойства Map) в PersistenceProvider, для которого не требуется файл persistence.xml (за его обработку отвечает контейнер). Вероятно, вы могли бы вызвать это напрямую в EclipseLink PersistenceProvider и передать свой собственный PersistenceUnitInfo.
Возможно, вы захотите обратиться к поддержке EclipseLink для нескольких арендаторов,
http://www.eclipse.org/eclipselink/documentation/2.4/solutions/multitenancy.htm