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

54 записи с тегом "Spring Persistence"

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

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

1. Обзор

При создании уровня сохраняемости нам необходимо сопоставить нашу схему базы данных SQL с объектной моделью, которую мы создали в нашем коде. Это может быть много работы, чтобы сделать вручную.

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

Сначала мы рассмотрим свойства конфигурации JPA для генерации схемы. Затем мы рассмотрим, как использовать эти свойства в Spring Data JPA.

Наконец, мы рассмотрим альтернативу генерации DDL с использованием собственного API Hibernate.

2. Генерация схемы JPA

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

1. Введение

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

2. Зависимости Maven

Нам нужно добавить зависимость Jinq в файл pom.xml:

<dependency>
<groupId>org.jinq</groupId>
<artifactId>jinq-jpa</artifactId>
<version>1.8.22</version>
</dependency>

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

1. Обзор

Spring Boot позволяет нам импортировать образцы данных в нашу базу данных — в основном для подготовки данных для интеграционных тестов. Из коробки есть две возможности. Мы можем использовать файлы import.sql (поддержка Hibernate) или data.sql (поддержка Spring JDBC) для загрузки данных .

Однако иногда мы хотим разделить один большой файл SQL на несколько меньших, например, для лучшей читабельности или для того, чтобы разделить некоторые файлы с данными инициализации между модулями.

В этом уроке мы покажем, как это сделать с помощью Hibernate и Spring JDBC.

2. Поддержка режима гибернации

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

1. Введение

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

2. Зависимости Maven

Сначала нам нужно иметь зависимости spring-boot-starter-jdbc и H2 , определенные в нашем pom.xml :

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>

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

1. Обзор

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

Все классы в Spring JDBC разделены на четыре отдельных пакета:

  • core — основная функциональность JDBC. Некоторые из важных классов этого пакета включают JdbcTemplate , SimpleJdbcInsert , SimpleJdbcCall и NamedParameterJdbcTemplate .
  • datasource — служебные классы для доступа к источнику данных. Он также имеет различные реализации источников данных для тестирования кода JDBC вне контейнера Jakarta EE.
  • object — доступ к БД объектно-ориентированным способом. Это позволяет выполнять запросы и возвращать результаты в виде бизнес-объекта. Он также сопоставляет результаты запроса между столбцами и свойствами бизнес-объектов.
  • поддержка — классы поддержки для классов в основных и объектных пакетах, например, обеспечивает функциональность перевода SQLException

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

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

1. Обзор

В этом руководстве мы сосредоточимся на том, как запускать логику при запуске приложения Spring.

2. Запуск логики при запуске

Запуск логики во время/после запуска приложения Spring является распространенным сценарием. Но это также тот, который вызывает множество проблем.

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

1. Введение

В этом кратком руководстве мы научимся создавать запросы на обновление с помощью аннотации Spring Data JPA @Query . Мы достигнем этого, используя аннотацию @Modifying .

Во-первых, чтобы освежить нашу память, мы можем прочитать , как делать запросы, используя Spring Data JPA . После этого мы углубимся в использование аннотаций @Query и @Modifying . Наконец, мы обсудим, как управлять состоянием нашего контекста персистентности при использовании модифицирующих запросов.

2. Запрос в Spring Data JPA

Во-первых, давайте вспомним три механизма, которые Spring Data JPA предоставляет для запроса данных в базе данных :

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

1. Обзор

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

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

2. Зависимости Maven

Начнем с объявления spring-context, spring-jdbc, spring-test и h2 в качестве зависимостей в pom.xml :

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

1. Обзор

Apache Cassandra — это распределенная база данных NoSQL с открытым исходным кодом. Он был разработан для обработки больших объемов данных с высокой производительностью чтения-записи и без единой точки отказа .

В этом руководстве мы рассмотрим тестирование приложения Spring Boot, использующего базу данных Cassandra. Мы объясним, как настроить интеграционные тесты с помощью контейнера Cassandra из библиотеки Testcontainers . Кроме того, мы будем использовать абстракцию репозитория Spring Data для работы со слоем данных Cassandra.

Наконец, мы покажем, как повторно использовать общий экземпляр контейнера Cassandra в нескольких интеграционных тестах.

2. Тестовые контейнеры

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

1. Обзор

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

Для этого мы создадим два отдельных приложения Spring Boot. Первое приложение Spring Boot запустит экземпляр H2 в памяти, тогда как второе будет обращаться к встроенному экземпляру H2 первого приложения через TCP.

2. Фон

Как мы знаем, база данных в памяти работает быстрее и часто используется во встроенном режиме внутри приложения. Однако база данных в памяти не сохраняет данные при перезапуске сервера.