1. Введение
В этом кратком руководстве мы рассмотрим использование хранимых процедур в Java Persistence API (JPA).
В этом руководстве мы кратко рассмотрим запуск приложения с помощью jOOQ (объектно-ориентированный запрос Java). Эта библиотека генерирует классы Java на основе таблиц базы данных и позволяет нам создавать безопасные для типов SQL-запросы через свободный API.
Мы рассмотрим всю настройку, подключение к базе данных PostgreSQL и несколько примеров операций CRUD.
Для библиотеки jOOQ нам понадобятся следующие три зависимости jOOQ :
В этом руководстве мы обсудим разницу между двумя вариантами удаления сущностей из наших баз данных при работе с JPA .
Во- первых, мы начнем с CascadeType.REMOVE
, который представляет собой способ удаления дочернего объекта или объектов, когда происходит удаление его родителя . Затем мы рассмотрим атрибут orphanRemoval
, который был введен в JPA 2.0. Это дает нам возможность удалять потерянные объекты из базы данных .
На протяжении всего руководства мы будем использовать простой домен интернет-магазина для демонстрации наших примеров.
При сохранении объектов Java в записях базы данных с использованием инфраструктуры объектно-реляционного сопоставления (ORM) мы часто хотим игнорировать определенные поля. Если платформа совместима с Java Persistence API (JPA), мы можем добавить аннотацию @Transient
к этим полям.
В этом руководстве мы продемонстрируем правильное использование аннотации @Transient
. Мы также рассмотрим его связь со встроенным в Java ключевым словом transient
.
@Transient
аннотация против переходного
ключевого словаКак правило, существует некоторая путаница в связи между аннотацией @Transient
и встроенным ключевым словом переходного процесса
в Java . Ключевое слово transient
в первую очередь предназначено для игнорирования полей во время сериализации объектов Java , но оно также предотвращает сохранение этих полей при использовании среды JPA.
Пролетные миграции не всегда идут по плану. В этом руководстве мы рассмотрим имеющиеся у нас варианты восстановления после неудачной миграции .
Давайте начнем с базового проекта Spring Boot, настроенного для Flyway. Он имеет зависимости flyway-core
, spring-boot-starter-jdbc и
flyway - maven-plugin
.
Дополнительные сведения о конфигурации см. в нашей статье, посвященной Flyway .
Hibernate — это удобный фреймворк для управления постоянными данными, но иногда бывает сложно понять, как он работает внутри.
В этом уроке мы узнаем о состояниях объектов и о том, как перемещаться между ними. Мы также рассмотрим проблемы, с которыми мы можем столкнуться с отсоединенными объектами, и способы их решения.
Интерфейс сеанса
является основным инструментом, используемым для связи с Hibernate. Он предоставляет API, позволяющий нам создавать, читать, обновлять и удалять постоянные объекты. Сессия имеет
простой жизненный цикл. Открываем его, выполняем какие-то операции, а потом закрываем.
Apache Spark — это быстрая распределенная система обработки данных. Он выполняет обработку данных в памяти и использует кэширование в памяти и оптимизированное выполнение, что приводит к высокой производительности. Он предоставляет API высокого уровня для популярных языков программирования, таких как Scala, Python, Java и R.
В этом кратком руководстве мы рассмотрим три основных понятия Spark: кадры данных, наборы данных и RDD.
Spark SQL представил абстракцию табличных данных, называемую DataFrame, начиная с Spark 1.3. С тех пор это стало одной из самых важных функций в Spark. Этот API полезен, когда мы хотим обрабатывать структурированные и полуструктурированные распределенные данные.
В этом руководстве мы рассмотрим интересную функцию CDI (внедрение контекста и зависимостей), называемую переносимым расширением CDI.
Сначала мы начнем с понимания того, как это работает, а затем посмотрим, как написать расширение. Мы пройдем шаги по внедрению модуля интеграции CDI для Flyway, чтобы мы могли запустить миграцию базы данных при запуске контейнера CDI.
Этот учебник предполагает базовое понимание CDI. Взгляните на эту статью для введения в CDI.
Часто нам бывает трудно решить, следует ли выполнять вычисления в базе данных (СУБД) или в коде приложения, чтобы одновременно получить хорошую производительность и удобство.
В этой статье мы рассмотрим преимущества и недостатки выполнения вычислений в базе данных и коде приложения.
Мы рассмотрим несколько факторов, которые могут повлиять на это решение, и обсудим, какой уровень (база данных или приложение) лучше подходит для их обработки.