Я пытаюсь создать приложение Eclipse, которое использует JPA для сохранения.
Я пытаюсь использовать EclipseLink в качестве моего провайдера (более конкретно org.eclipse.persistence.jpa.PersistenceProvider
) и Derby в качестве базы данных.
В настоящее время у меня есть проект Eclipse JPA, который занимается всеми коммуникациями с базой данных и определяет объекты модели. Этот продукт проходит модульное тестирование и все работает.
Идея состоит в том, что мое приложение Eclipse использует этот проект для получения объектов модели, которые оно использует.
Проблема в том, что как только я пытаюсь создать EntityManager
, я получаю исключение "No Persistence provider
".
Я пытался ссылаться на проект JPA напрямую или сначала экспортировать его в банку и в зависимости от этого. Ни один не работал.
Теперь, насколько я могу догадаться, это либо означает, что он не видит мой файл persistence.xml, либо что поставщик постоянства отсутствует в моем пути к классам.
Файл персистентности находится в каталоге META-INF
в корне моего фляги, так что, надеюсь, он должен быть найден. Я также добавил следующее к MANIFEST.MF
плагина приложения:
javax.persistence;bundle-version="1.99.0",
org.eclipse.persistence.antlr;bundle-version="1.1.2",
org.eclipse.persistence.asm;bundle-version="1.1.2",
org.eclipse.persistence.core;bundle-version="1.1.2",
org.eclipse.persistence.jpa;bundle-version="1.1.2"
Мы надеемся, что это приведет к тому, что необходимые классы будут доступны.
Кто-нибудь может увидеть, что мне не хватает? Есть ли способ узнать, какая из двух проблем может быть? Это одна из этих проблем?
Спасибо за любую помощь.