Краткий Обзор Новых Функций Jpa-Rs В Eclipselink

EclipseLink — это платформа ORM с открытым исходным кодом, разработанная Eclipse Foundation. Выпуск версии 2.6.0 запланирован на конец года.

проект. В преддверии этого я хочу познакомить вас с некоторыми новыми возможностями сервиса JPA-RS, входящего в состав EclipseLink. JPA-RS позволяет автоматически создавать службы RESTful на основе модели JPA, предоставленной пользователем.

В этом случае от пользователя практически не требуется никаких дополнительных действий.



Версия сервиса в URL

Семантика протокола передачи данных может меняться от версии к версии.

Схема JSON для ресурсов в версии 2.0 сервиса отличается от схемы JSON, использовавшейся в предыдущей версии.

Для обеспечения совместимости JPA-RS может возвращать данные в более старых форматах.

Для этого в URL-адрес включается версия протокола.

Базовый URL-адрес выглядит следующим образом:

  
  
  
  
  
   

http(s)://{ server:port}/{app}/persistence/{version}/{persistent-unit}/ .



Где:
  • порт сервера — адрес и порт сервера.

  • приложение — имя вашего приложения (корень контекста).

  • упорство — Точка входа в приложение JPA-RS. Постоянный.

  • версия - Не требуется.

    Версия JPA-RS. На данный момент поддерживаются значения «v1.0» (предыдущая версия), «v2.0» (новая версия) и «latest» (последняя версия).

  • постоянная единица — Имя постоянного модуля, указанное в файле persistence.xml.
Версию сервиса можно пропустить, в этом случае используется значение «v1.0».

Примеры: Запросите объект Car с первичным ключом 1 из постоянного устройства car-pu, используя семантику протокола версии 1.0:

http(s):// localhost:8080/jpars-test/persistence/car-pu/entity/Car/1

Одинаковый:

http(s):// localhost:8080/jpars-test/persistence/v1.0/car-pu/entity/Car/1

Запрос тех же данных, но с использованием семантики сервиса версии 2.0:

http(s):// localhost:8080/jpars-test/persistence/v2.0/car-pu/entity/Car/1

Поскольку последней версией на данный момент является 2.0, следующий запрос вернет тот же результат, что и предыдущий:

http(s):// localhost:8080/jpars-test/persistence/latest/car-pu/entity/Car/1

Далее, исключительно ради читабельности, укажу http(s):// локальный хост: 8080/jpars-test/persistence/v2.0 Как {корень} .



Вывод страницы

JPARS позволяет разбивать длинные списки на страницы и возвращать только выбранную пользователем страницу.

Это работает для запросов (именованный запрос) и для полей типа коллекции.

Пейджинг — единственная функция JPA-RS, требующая настройки.

Это делается с помощью аннотаций.

Рассмотрим следующий пример:

@Entity @Table(name = "CAR") @NamedQueries({ @NamedQuery( name = "Car.findAll", query = "SELECT c FROM Car c ORDER BY c.name"), @NamedQuery( name = "Car.findAllPageable", query = "SELECT c FROM Car c ORDER BY c.name"), }) @RestPageableQueries({ @RestPageableQuery(queryName = "Car.findAllPageable", limit = 20) }) public class Car {

Теги: #eclipselink #java #restful #rest #jpa #JPARS #oracle #java #eclipse

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.