Перейти к основному содержимому

93 записи с тегом "JPA"

Посмотреть все теги

· 3 мин. чтения

1. Обзор

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

Мы также рассмотрим различные типы блокировки и настройку времени ожидания блокировки транзакции.

2. Типы блокировки

В JPA определены два основных типа блокировки: пессимистическая блокировка и оптимистичная блокировка.

· 5 мин. чтения

1. Обзор

Поставщики сохраняемости, такие как Hibernate, используют контекст сохраняемости для управления жизненным циклом объекта в приложении.

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

2. Контекст сохранения

Давайте взглянем на официальное определение Persistence Context :

· 8 мин. чтения

1. Обзор

В JPA версии 2.0 и ниже нет удобного способа сопоставления значений Enum со столбцом базы данных. Каждый вариант имеет свои ограничения и недостатки. Этих проблем можно избежать, используя функции JPA 2.1.

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

2. Использование аннотации @Enumerated

Наиболее распространенным вариантом сопоставления значения перечисления с его представлением базы данных в JPA до версии 2.1 является использование аннотации @Enumerated . Таким образом, мы можем указать провайдеру JPA преобразовать перечисление в его порядковое или строковое значение.

· 5 мин. чтения

1. Введение

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

2. Сущность

Сущности в JPA — это не что иное, как POJO, представляющие данные, которые могут быть сохранены в базе данных. Сущность представляет собой таблицу, хранящуюся в базе данных. Каждый экземпляр объекта представляет собой строку в таблице.

2.1. Аннотация объекта _

· 2 мин. чтения

1. Обзор

Обычно нам не нужно напрямую обращаться к EntityManager при работе с приложением Spring Data. Однако иногда нам может понадобиться получить к нему доступ, например, для создания пользовательских запросов или для отсоединения объектов.

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

2. Доступ к EntityManager с данными Spring

Мы можем получить EntityManager , создав собственный репозиторий, расширяющий, например, встроенный JpaRepository .

· 4 мин. чтения

1. Обзор

Хранимая процедура — это группа предопределенных операторов SQL, хранящихся в базе данных. В Java есть несколько способов доступа к хранимым процедурам. В этом руководстве мы узнаем, как вызывать хранимые процедуры из репозиториев Spring Data JPA.

2. Настройка проекта

Мы будем использовать JPA -модуль Spring Boot Starter Data в качестве уровня доступа к данным . Мы также будем использовать MySQL в качестве нашей серверной базы данных. Поэтому нам понадобятся зависимости Spring Data JPA , Spring Data JDBC и MySQL Connector в файле pom.xml нашего проекта :

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jdbc</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>

· 6 мин. чтения

1. Обзор

В этом руководстве мы создадим REST API поиска/фильтрации с использованием Spring Data JPA и спецификаций.

Мы начали рассматривать язык запросов в первой статье этой серии с решения на основе критериев JPA.

Итак, зачем язык запросов? Потому что поиска/фильтрации наших ресурсов по очень простым полям недостаточно для слишком сложных API. Язык запросов является более гибким и позволяет нам фильтровать именно те ресурсы, которые нам нужны.

2. Объект пользователя

· 2 мин. чтения

Объектно-реляционное отображение (ORM) — это процесс преобразования объектов Java в таблицы базы данных. Другими словами, это позволяет нам взаимодействовать с реляционной базой данных без использования SQL. Java Persistence API (JPA) — это спецификация, определяющая, как сохранять данные в приложениях Java. Основное внимание в JPA уделяется уровню ORM.

Hibernate — одна из самых популярных используемых сегодня сред Java ORM. Его первый релиз состоялся почти двадцать лет назад, и до сих пор он пользуется отличной поддержкой сообщества и регулярными выпусками. Кроме того, Hibernate является стандартной реализацией спецификации JPA с несколькими дополнительными функциями, специфичными для Hibernate. Давайте рассмотрим некоторые основные функции JPA и Hibernate.

./6fa0ab2c3dc26978c581de4eb8ecd389.png

Определение объектов

  • Определение объектов JPA
  • Жизненный цикл объекта Hibernate
  • События жизненного цикла сущности JPA
  • Значения столбца по умолчанию в JPA
  • JPA @Basic Аннотация
  • Сопоставление имен классов сущностей с именами таблиц SQL с помощью JPA
  • Разница между @Size, @Length и @Column (длина = значение)
  • Равенство юридических лиц JPA
  • JPA @Embedded и @Embeddable
  • Преобразователи атрибутов JPA
  • Hibernate @NotNull против @Column (nullable = false)
  • Определение уникальных ограничений в JPA
  • Сущности JPA и сериализуемый интерфейс

./d3ecf4786a3a577cbb6c494848defd39.png

Отношения сущностей

  • Отношения «один к одному» в JPA
  • Отношения «многие ко многим» в JPA
  • Объяснение аннотации @JoinColumn
  • Разница между @JoinColumn и mappedBy
  • Сопоставление одного объекта с несколькими таблицами в JPA
  • Обзор каскадных типов JPA/Hibernate
  • Hibernate @WhereJoinTable Аннотация
  • Отображение наследования в спящем режиме
  • Учебное пособие по аннотациям Hibernate One to Many

./5b90d3d93602ced5597ebdcdccbe4853.png

Идентификаторы

  • Обзор идентификаторов в Hibernate/JPA
  • Составные первичные ключи в JPA
  • Когда JPA устанавливает первичный ключ

./8bdda40237a6c8ab51dc31e72dc8cbaa.png

Операции чтения

  • Типы запросов JPA
  • Использование параметров запроса JPA
  • Создание запроса JPA между несвязанными объектами
  • Работа с коллекциями ленивых элементов в JPA
  • Типы соединения JPA
  • FetchMode в спящем режиме
  • Спящий именованный запрос

./bfb4088800c75466f74bdf8955bb4dad.png

Критерии запроса

  • Объединение предикатов JPA и/или критериев
  • Criteria API — пример IN-выражений
  • Запросы критериев JPA

./5393b9f8826bfad1015232cde1d2018a.png

Пагинация и сортировка

  • Сортировка с помощью JPA
  • Пагинация JPA
  • Спящий режим
  • Запросы критериев JPA

./b70bf004e4a92bbd60830bfc7c6345fc.png

Результаты запроса

  • Руководство по SqlResultSetMapping
  • Настройка результатов запросов JPA с функциями агрегирования

./a96ae9339860573e9b6de20c01a6cc4e.png

Операции записи

  • Оператор INSERT в JPA
  • Пакетная вставка/обновление с помощью Hibernate/JPA
  • Удаление объектов с помощью Hibernate
  • Hibernate: сохранить, сохранить, обновить, объединить, saveOrUpdate

· 4 мин. чтения

1. Введение

Spring Data JPA предлагает множество функций для использования JPA в приложении. Среди этих функций — стандартизация имен таблиц и столбцов как в запросах DDL, так и в запросах DML.

В этом кратком руководстве мы увидим, как настроить это соглашение об именах по умолчанию.

2. Соглашение об именах по умолчанию

Прежде всего, давайте посмотрим, каково соглашение об именовании Spring по умолчанию в отношении имен таблиц и столбцов.

· 3 мин. чтения

В этой серии руководств основное внимание уделяется работе с Persistence с помощью Spring , иллюстрируя примеры с Hibernate, JPA и Spring Data.

Spring и JPA/спящий режим

./061ac62254a432dc08e98c117a81f8ca.png

Спринг-данные JPA

./4be1b615c0f7b8e22783b3384d3f14a8.png

Другие технологии Spring Persistence

./68aad0767328f1b68be6511ea9ea709d.png

Весенние данные MongoDB

./851074f76c04aae63352bda608a1731a.png

Другие весенние уроки

  • Учебное пособие

    по REST with Spring Как создавать службы REST с помощью Spring

  • Учебное пособие

    по исключениям Spring Некоторые из наиболее распространенных исключений в Spring с примерами — почему они возникают и как их быстро решить

  • Безопасность с помощью Spring

    Как защитить проект MVC, войти и выйти из системы, как защитить службу REST с помощью OAuth.