Ответ 1
Я выяснил, как это сделать - используя odata4j. Я документировал свои шаги ниже, если кто-то хочет сделать что-то подобное.
Вам нужно будет:
- создать модель JPA из вашей базы данных
- use odata4j NorthwindJpaProducerExample.java script
Подробные инструкции приведены ниже:
- Odata4j является производителем/потребителем Odata с открытым исходным кодом на Java. Поэтому вам нужно настроить Eclipse для разработчиков EE с базой данных. Я предлагаю этот учебник, если вы новичок в Eclipse.
- Следуйте этим инструкциям для создания модели JPA.
- Перейдите в Odata4j и загрузите последний архив zip
- Добавьте odata4j-bundle-x.x.jar в ваш путь сборки (он находится в файле bundles).
- Вставьте следующие сценарии из Odata4j, найденные в их github: NorthwindJpaProducerExample, JPAProvider и DatabaseUtils (требуется slf4j). (Честно говоря, я просто копировал и вставлял их в Eclipse). На этом этапе ваша панель Project Explorer должна выглядеть так (без model.main):
На этом этапе щелкните правой кнопкой мыши проект и выберите "Путь сборки" > "Настроить путь сборки". Добавьте в свой файл архива Odata4j следующие "внешние банки".
Теперь отредактируйте код в NorthwindJpaProducerExample следующими способами:
- Измените строку "endpointUri" на любой URL-адрес, который вы хотите использовать oData на
- Измените строку "persistenceUnitName" на имя вашей сущности в файле persistence.xml(как вы можете на изображении выше, мой был вызван "createJPA".)
И тогда у вас есть OData!
Я столкнулся с проблемой пары при выполнении этих шагов и запишет их здесь, если у вас есть их.
- Чтобы успешно выполнить шаг 2 (сгенерировать JPA), каждая таблица ДОЛЖНА иметь первичный ключ. Сделай это - я не шучу.
- После редактирования кода у меня была ошибка "BigInteger". JPAProducer не поддерживает типы полей bigInteger. Вернитесь в свою базу данных и измените размер столбца на обычный int.
- После изменения базы данных ЛЮБОЙ способ, обязательно обновите базу данных и очистите проект. Это сделает вас и Eclipse счастливыми.
- Я не думаю, что это будет необходимо для всех, но мне нужно было добавить зависимость драйвера HyperSQL. Если вы получите ошибку HSQL, перейдите в здесь и получите последнюю стабильную версию. Добавьте hsqldb.jar в свой путь сборки.
Не SUPER легко, но намного лучше, чем 70-страничное руководство.