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

258 записей с тегом "Persistence"

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

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

1. Обзор

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

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

2. Что такое сумка в спящем режиме?

Bag, как и List , представляет собой коллекцию, которая может содержать повторяющиеся элементы. Однако это не по порядку. Более того, Bag — это термин Hibernate , который не является частью Java Collections Framework.

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

1. Введение

В этом руководстве мы обсудим, как сочетаются сущности JPA и интерфейс Java Serializable . Во-первых, мы рассмотрим интерфейс java.io.Serializable и зачем он нам нужен. После этого мы рассмотрим спецификацию JPA и Hibernate как наиболее популярную ее реализацию.

2. Что такое сериализуемый интерфейс?

Serializable — один из немногих интерфейсов маркеров, которые можно найти в ядре Java. Маркерные интерфейсы — это специальные интерфейсы без методов или констант.

Сериализация объектов — это процесс преобразования объектов Java в потоки байтов . Затем мы можем передавать эти потоки байтов по сети или хранить их в постоянной памяти. Десериализация — это обратный процесс , когда мы берем потоки байтов и преобразовываем их обратно в объекты Java. Чтобы разрешить сериализацию (или десериализацию) объектов, класс должен реализовать интерфейс Serializable . В противном случае мы столкнемся с java.io.NotSerializableException . Сериализация широко используется в таких технологиях, как RMI, JPA и EJB .

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

1. Обзор

Spring Data JPA предоставляет простой способ создавать запросы к базе данных и тестировать их с помощью встроенной базы данных H2.

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

В этом руководстве мы покажем, как использовать Testcontainers для интеграционного тестирования с Spring Data JPA и базой данных PostgreSQL.

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

2. Конфигурация

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

1. Введение

MyBatis — одна из наиболее часто используемых платформ с открытым исходным кодом для реализации доступа к базам данных SQL в приложениях Java.

В этом кратком руководстве мы покажем, как интегрировать MyBatis с Spring и Spring Boot.

Для тех, кто еще не знаком с этим фреймворком, обязательно ознакомьтесь с нашей статьей о работе с MyBatis .

2. Определение модели

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

1. Обзор

Apache Kafka — это распределенная и отказоустойчивая система обработки потоков.

В этом руководстве мы рассмотрим поддержку Spring для Kafka и уровень абстракции, который он обеспечивает по сравнению с собственными клиентскими API Kafka Java.

Spring Kafka предлагает простую и типичную модель программирования шаблонов Spring с KafkaTemplate и управляемыми сообщениями POJO через аннотацию @KafkaListener .

2. Установка и настройка

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

1. Обзор

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

2. Настройка

Во-первых, давайте определим класс UserEntity , который мы будем использовать для всех примеров в этой статье:

@Table(name = "users")
@Entity
public class UserEntity {

@Id
private Long id;
private String name;
//Standard constructor, getters and setters.

}

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

1. Обзор

В этом кратком руководстве мы увидим, как вернуть несколько разных сущностей в JPA Query. ``

Сначала мы создадим простой пример кода, содержащий несколько разных сущностей. Затем мы объясним, как создать запрос JPA, который возвращает несколько разных сущностей. Наконец, мы покажем рабочий пример реализации Hibernate JPA.

2. Пример конфигурации

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

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

1. Обзор

Hikari — это реализация JDBC DataSource , обеспечивающая механизм пула соединений.

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

В этом кратком руководстве показано, как мы можем настроить приложение Spring Boot 2 или Spring Boot 1 для использования Hikari DataSource .

2. Настройка Hikari с помощью Spring Boot 2.x

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

1. Обзор

Пул соединений — это хорошо известный шаблон доступа к данным, основная цель которого — уменьшить накладные расходы, связанные с выполнением соединений с базой данных и операциями чтения и записи базы данных.

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

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

2. Зачем нужен пул соединений?

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

1. Введение

В этом руководстве мы обсудим определение индексов с помощью аннотации JPA @Index . На примерах мы узнаем, как определить наш первый индекс с помощью JPA и Hibernate. После этого мы собираемся изменить определение, показав дополнительные способы настройки индекса.

2. @Индексная аннотация

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

JPA позволяет нам добиться этого, определяя индексы из нашего кода с помощью @Index . Эта аннотация интерпретируется процессом генерации схемы, автоматически создавая артефакты. Обратите внимание, что нет необходимости указывать какой-либо индекс для наших сущностей.