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

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

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

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

1. Обзор

Идентификаторы в Hibernate представляют собой первичный ключ объекта. Это означает, что значения уникальны, так что они могут идентифицировать конкретный объект, что они не являются нулевыми и что они не будут изменены.

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

2. Простые идентификаторы

Самый простой способ определить идентификатор — использовать аннотацию @Id .

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

1. Обзор

Аннотация javax.persistence.JoinColumn помечает столбец как столбец соединения для ассоциации сущностей или коллекции элементов.

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

2. Пример сопоставления @OneToOne

Аннотация @JoinColumn в сочетании с сопоставлением @OneToOne указывает, что данный столбец в объекте-владельце ссылается на первичный ключ в ссылочном объекте:

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

1. Введение

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

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

Начнем с создания двух простых таблиц:

CREATE TABLE AUTHOR
(
ID int NOT NULL PRIMARY KEY,
FIRST_NAME varchar(255),
LAST_NAME varchar(255)
);

CREATE TABLE ARTICLE
(
ID int NOT NULL PRIMARY KEY,
TITLE varchar(255) NOT NULL,
AUTHOR_ID int,
FOREIGN KEY(AUTHOR_ID) REFERENCES AUTHOR(ID)
);

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

1. Обзор

В реляционных базах данных нет простого способа отображать иерархии классов в таблицы базы данных.

Для решения этой проблемы в спецификации JPA предусмотрено несколько стратегий:

  • MappedSuperclass — родительские классы, не могут быть сущностями .
  • Единая таблица — объекты из разных классов с общим предком помещаются в одну таблицу.
  • Объединенная таблица — у каждого класса есть своя таблица, и для запроса сущности подкласса требуется объединение таблиц.
  • Таблица для каждого класса — все свойства класса находятся в его таблице, поэтому объединение не требуется.

Каждая стратегия приводит к различной структуре базы данных.

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

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

1. Обзор

Шаблон объекта доступа к данным (DAO) — это структурный шаблон, который позволяет нам изолировать прикладной/бизнес-уровень от уровня сохраняемости (обычно это реляционная база данных, но может быть и любой другой механизм сохранения) с помощью абстрактного API.

API скрывает от приложения всю сложность выполнения CRUD-операций в базовом механизме хранения. Это позволяет обоим слоям развиваться отдельно, ничего не зная друг о друге.

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

2. Простая реализация

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

1. Обзор

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

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

2. Репликация данных

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

1. Введение

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

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

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

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

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

1. Обзор

Для некоторых проектов может потребоваться сохранение объектов JSON в реляционной базе данных.

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

Доступно несколько фреймворков, обеспечивающих эту функциональность, но мы рассмотрим несколько простых, универсальных вариантов, использующих только Hibernate и Jackson .

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

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

1. Введение

Ebean — это инструмент объектно-реляционного отображения, написанный на Java.

Он поддерживает стандартные аннотации JPA для объявления сущностей. Однако он предоставляет гораздо более простой API для сохранения. На самом деле, стоит упомянуть об архитектуре Ebean, что она не использует сеансы, то есть не полностью управляет сущностями.

Кроме того, он также поставляется с API запросов и поддерживает написание запросов на собственном SQL. Ebean поддерживает все основные поставщики баз данных, такие как Oracle, Postgres, MySql, H2 и т. д.

В этом руководстве мы рассмотрим, как мы можем создавать, сохранять и запрашивать сущности с помощью Ebean и H2.

2. Настройка

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

1. Введение

В этом уроке мы узнаем о Hazelcast Jet. Это механизм распределенной обработки данных, предоставленный Hazelcast, Inc. и построенный на основе Hazelcast IMDG.

Если вы хотите узнать о Hazelcast IMDG, вот статья для начала работы.

2. Что такое Hazelcast Jet?

Hazelcast Jet — это механизм распределенной обработки данных, который обрабатывает данные как потоки. Он может обрабатывать данные, которые хранятся в базе данных или файлах, а также данные, которые передаются сервером Kafka.