JPA - отключить проверку постоянства.xml - PullRequest
3 голосов
/ 22 сентября 2010

Я делаю свои первые шаги с помощью JPA (Hibernate). Общая идея заключается в подключении к устаревшей базе данных для выполнения сложных запросов. Я думаю, что Hibernate является отличным компаньоном для этой задачи, но ...

... для начала я создал один bean-файл, файлы конфигурации persistence.xml и hibernate.cfg.xml и несколько строк кода в основном методе, начиная с:

EntityManagerFactory emf = Persistence.createEntityManagerFactory("foo");

Он читает файл persistence.xml , но , поскольку я отключен от Интернета, он не может прочитать файл схемы (xsd) для проверки файла persistence.xml и выдает жалобы на исключения. (И у меня нет локальной копии файла persistence.xsd в этой среде). Я попытался удалить атрибут schemalocation, но это не помогло. Нет грамматики, нет JPA!?

Есть ли способ / хитрость / обходной путь, чтобы отключить проверку документа хотя бы для анализа файла persistence.xml?

1 Ответ

4 голосов
/ 22 сентября 2010

Извлечено из спецификации JPA

Контейнер / поставщик ресурсов (Hibernate) должен проверить файл persistence.xml по схеме persistence_1_0.xsd и сообщить о любых ошибках проверки

...

Файлы конфигурации персистентности должны указывать схему персистентности с использованием пространства имен постоянства

 http://java.sun.com/xml/ns/persistence

И укажите версию схемы, используя элемент версии , как показано ниже

<persistence xmlns="http://java.sun.com/xml/ns/persistence"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
             http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
             version="1.0">

Показанный выше элемент действителен для JPA 1.0 Обновите до 2.0, если вы используете JPA 2.0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...