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.
Примеры:
Запросите объект 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
-
Вайнштейн Альберт Львович
19 Oct, 24 -
Лекция «Космонавтика Сегодня»
19 Oct, 24 -
Scss: Пара Полезных Приемов
19 Oct, 24 -
Этикет И Этика Использования Opensource
19 Oct, 24 -
Дай Мне Мои Мысли!
19 Oct, 24 -
Linux Fund Лишился Источника Финансирования
19 Oct, 24 -
Технология Jpeg: Анализ Пространства Решений
19 Oct, 24