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

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

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

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

1. Введение

В этом руководстве мы рассмотрим аннотацию @Transactional , а также ее параметры изоляции и распространения .

2. Что такое @Transactional?

Мы можем использовать @Transactional для включения метода в транзакцию базы данных.

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

1. Обзор

Эта статья представляет собой введение в Jedis , клиентскую библиотеку на Java для Redis — популярное хранилище структур данных в памяти, которое также может сохраняться на диске. Он управляется структурой данных на основе хранилища ключей для сохранения данных и может использоваться в качестве базы данных, кэша, брокера сообщений и т. д.

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

В последующих разделах мы подробно рассмотрим различные структуры данных и объясним транзакции, конвейерную обработку и функцию публикации/подписки. Мы заканчиваем с пулом соединений и Redis Cluster.

2. Почему джедаи?

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

1. Обзор

В этом руководстве мы узнаем о механизме базы данных Apache Derby, который представляет собой механизм реляционной базы данных на основе Java, разработанный Apache Software Foundation в качестве проекта с открытым исходным кодом.

Мы начнем с его установки и настройки, а затем рассмотрим инструменты, которые он предоставляет для взаимодействия с ним. После создания образца базы данных мы узнаем, как выполнять команды SQL с помощью инструментов командной строки Derby. Наконец, мы увидим, как подключиться к базе данных программно, используя простой JDBC и приложение Spring Boot.

2. Режимы развертывания

Apache Derby имеет два основных варианта развертывания: простой встроенный вариант и вариант клиент/сервер.

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

1. Введение

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

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

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

2. Что такое режим автоматической фиксации JDBC?

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

1. Обзор

При работе с ORM выборку/загрузку данных можно разделить на два типа: нетерпеливую и ленивую.

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

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

Чтобы использовать Hibernate, давайте сначала определим основную зависимость в нашем pom.xml :

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

1. Обзор

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

Многие из нас, возможно, страдали от проблем с потокобезопасностью. Итак, вопрос «Является ли этот класс потокобезопасным?» часто приходит на ум.

Приложение Java довольно часто обращается к реляционным базам данных через JDBC, а также использует многопоточность. В этом кратком руководстве мы обсудим, является ли java.sql.Connection потокобезопасным.

2. Интерфейс java.sql.Connection

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

1. Введение

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

2. Когда возникает исключение EntityNotFoundException ?

Документация Oracle для этого исключения определяет три ситуации, в которых поставщик сохраняемости может генерировать исключение EntityNotFoundException :

  • EntityManager.getReference для несуществующей сущности
  • EntityManager.refresh для объекта, которого нет в базе данных
  • EntityManager.lock с пессимистичной блокировкой сущности, не существующей в базе данных

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

1. Введение

В этой статье мы покажем, как отображать значения временных столбцов в Hibernate, включая классы из пакетов java.sql , java.util и java.time .

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

Чтобы продемонстрировать сопоставление временных типов, нам понадобится база данных H2 и последняя версия библиотеки hibernate-core :

<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.4.12.Final</version>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.4.194</version>
</dependency>

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

1. Обзор

Поскольку Hibernate обрабатывает взаимодействие с базой данных вместо нас, мы можем быстро разрабатывать код, связанный с базой данных. Но это может затруднить отладку сбоев, связанных с базой данных.

Следовательно, может быть полезно просмотреть взаимодействие Hibernate с базой данных. Например, SQL, сгенерированный Hibernate для чтения данных из таблицы.

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

2. Запись SQL

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

1. Обзор

PostgreSQL поддерживает определение массивов любого типа (встроенных или определяемых пользователем) как типов столбцов таблицы . В этом руководстве мы рассмотрим несколько способов сопоставления массива PostgreSQL с помощью Hibernate .

2. Базовая установка

В качестве предварительного условия для подключения к базе данных PostgreSQL мы должны добавить последнюю зависимость postgresql Maven в наш pom.xml вместе с конфигурациями Hibernate. Кроме того, давайте создадим класс сущности с именем User с ролями массива String : ``

@Entity
public class User {
@Id
private Long id;
private String name;

private String[] roles;

//getters and setters
}