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

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

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

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

1. Введение

В этом руководстве мы кратко рассмотрим запуск приложения с помощью jOOQ (объектно-ориентированный запрос Java). Эта библиотека генерирует классы Java на основе таблиц базы данных и позволяет нам создавать безопасные для типов SQL-запросы через свободный API.

Мы рассмотрим всю настройку, подключение к базе данных PostgreSQL и несколько примеров операций CRUD.

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

Для библиотеки jOOQ нам понадобятся следующие три зависимости jOOQ :

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

1. Обзор

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

Во- первых, мы начнем с CascadeType.REMOVE , который представляет собой способ удаления дочернего объекта или объектов, когда происходит удаление его родителя . Затем мы рассмотрим атрибут orphanRemoval , который был введен в JPA 2.0. Это дает нам возможность удалять потерянные объекты из базы данных .

На протяжении всего руководства мы будем использовать простой домен интернет-магазина для демонстрации наших примеров.

2. Модель предметной области

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

1. Введение

При сохранении объектов Java в записях базы данных с использованием инфраструктуры объектно-реляционного сопоставления (ORM) мы часто хотим игнорировать определенные поля. Если платформа совместима с Java Persistence API (JPA), мы можем добавить аннотацию @Transient к этим полям.

В этом руководстве мы продемонстрируем правильное использование аннотации @Transient . Мы также рассмотрим его связь со встроенным в Java ключевым словом transient .

2. @Transient аннотация против переходного ключевого слова

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

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

1. Обзор

В этом кратком руководстве мы узнаем о разнице в производительности между методами save() и saveAll() в Spring Data.

2. Приложение

Чтобы проверить производительность, нам понадобится приложение Spring с сущностью и репозиторием.

Давайте создадим объект книги:

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

1. Обзор

Пролетные миграции не всегда идут по плану. В этом руководстве мы рассмотрим имеющиеся у нас варианты восстановления после неудачной миграции .

2. Настройка

Давайте начнем с базового проекта Spring Boot, настроенного для Flyway. Он имеет зависимости flyway-core , spring-boot-starter-jdbc и flyway - maven-plugin .

Дополнительные сведения о конфигурации см. в нашей статье, посвященной Flyway .

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

1. Введение

Hibernate — это удобный фреймворк для управления постоянными данными, но иногда бывает сложно понять, как он работает внутри.

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

2. Сессия Hibernate

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

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

1. Обзор

Apache Spark — это быстрая распределенная система обработки данных. Он выполняет обработку данных в памяти и использует кэширование в памяти и оптимизированное выполнение, что приводит к высокой производительности. Он предоставляет API высокого уровня для популярных языков программирования, таких как Scala, Python, Java и R.

В этом кратком руководстве мы рассмотрим три основных понятия Spark: кадры данных, наборы данных и RDD.

2. Датафрейм

Spark SQL представил абстракцию табличных данных, называемую DataFrame, начиная с Spark 1.3. С тех пор это стало одной из самых важных функций в Spark. Этот API полезен, когда мы хотим обрабатывать структурированные и полуструктурированные распределенные данные.

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

1. Обзор

В этом руководстве мы рассмотрим интересную функцию CDI (внедрение контекста и зависимостей), называемую переносимым расширением CDI.

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

Этот учебник предполагает базовое понимание CDI. Взгляните на эту статью для введения в CDI.

2. Что такое портативное расширение CDI?

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

1. Обзор

Часто нам бывает трудно решить, следует ли выполнять вычисления в базе данных (СУБД) или в коде приложения, чтобы одновременно получить хорошую производительность и удобство.

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

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

2. Расчет в базе данных