определить местоположение файла persistence.xml - PullRequest
3 голосов
/ 01 ноября 2011

Я пытаюсь использовать jpa в настольном приложении.Я получаю сообщение об ошибке No Persistence provider for EntityManager named <unit> и подозреваю, что мой файл persistence.xml не может быть найден.

Я поместил его в <project>/src/META-INF/persistence.xml

У меня такое ощущение, что jpa не может найтиэтот файл, но я не знаю, как устранить неполадки.

Как я могу указать, где хранится файл persistence.xml и как я могу проверить, действительно ли он читается?

Stacktrace:

javax.persistence.PersistenceException: No Persistence provider for EntityManager named myunit
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:69)
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:47)
    at myapplication.MyEntity.testAddEntity(HistoryAction.java:85)

Ответы [ 2 ]

3 голосов
/ 01 ноября 2011

Я думаю, что проблема скорее в том, что ваше приложение не находит реализацию jpa (hibernate, eclipselink), чем файл persistence.xml .

См. этот связанный вопрос и ответы.

1 голос
/ 01 ноября 2011

Вы получаете эту ошибку, если JPA не может найти правильную реализацию jpa (например, hibernate, eclipselink).

Убедитесь, что в путь сборки включены правильные файлы .jar, содержащие используемую вами реализацию JPA.

(Ответ дан в комментарии Мэтта Хэнди)

...