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

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

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

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

1. Обзор

В этой статье мы узнаем об исключении PropertyValueException в Hibernate. В частности, мы рассмотрим сообщение об ошибке «свойство not-null ссылается на нулевое или переходное значение» .

Hibernate в основном выбрасывает PropertyValueException в двух случаях:

  • при сохранении нулевого значения для столбца, отмеченного nullable = false
  • при сохранении объекта с ассоциацией, ссылающейся на несохраненный экземпляр

2. Проверка Hibernate на нуль-значение

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

1. Обзор

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

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

2. Мавен

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

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

1. Обзор

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

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

В этом уроке мы рассмотрим, как решить эту проблему, используя аннотацию Hibernate @WhereJoinTable .

2. Базовое отношение @ManyToMany

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

1. Обзор

В этой статье мы рассмотрим различные способы подсчета количества строк JDBC ResultSet .

2. Подсчет строк набора результатов

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

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

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

1. Обзор

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

2. Понимание проблемы

Во-первых, давайте посмотрим на нашу модель данных и определим, чего мы пытаемся достичь.

Мы будем использовать объекты сущностей Post и Comment , которые имеют отношение «один ко многим». Мы хотим получить список сообщений со всеми связанными с ними комментариями.

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

1. Обзор

JPA Buddy — это широко используемый плагин IntelliJ IDEA, предназначенный как для новых, так и для опытных разработчиков, которые работают с моделью данных JPA и связанными технологиями, такими как Spring Data JPA , инструменты управления версиями БД ( Flyway , Liquibase ), MapStruct и некоторые другие. Плагин предоставляет визуальные дизайнеры, генерацию кода и дополнительные проверки, которые должны упростить разработку и улучшить код в соответствии с лучшими практиками для JPA.

Плагин работает как с версиями IntelliJ IDEA Community, так и с Ultimate и использует модель «freemium». Большинство функций доступны бесплатно, и нам нужно будет купить подписку, чтобы получить доступ к платным.

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

2. Начало работы

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

1. Введение

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

При запуске Spring Data сканирует репозитории и регистрирует их определения bean-компонентов как bean-компоненты с одноэлементной областью. Во время инициализации репозитории немедленно получают EntityManager . В частности, они получают метамодель JPA и проверяют объявленные запросы.

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

2. Различные варианты загрузки репозиториев

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

1. Обзор

В этом руководстве мы рассмотрим структуру агрегации MongoDB с помощью Java - драйвера MongoDB .

Сначала мы рассмотрим, что агрегирование означает концептуально, а затем настроим набор данных. Наконец, мы увидим различные методы агрегирования в действии с помощью Aggregates builder .

2. Что такое агрегаты?

Агрегации используются в MongoDB для анализа данных и получения из них значимой информации .

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

1. Обзор

В этом коротком руководстве мы увидим, как проверить существование поля в MongoDB . ``

Сначала мы создадим простую базу данных Mongo и коллекцию образцов. Затем мы поместим в него фиктивные данные, чтобы использовать их позже в наших примерах. После этого мы покажем, как проверить, существует ли поле в собственном запросе Mongo, а также в Java.

2. Пример конфигурации

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

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

1. Обзор

В этом руководстве мы рассмотрим поддержку геопространственных данных в MongoDB.

Мы обсудим, как хранить геопространственные данные, геоиндексацию и геопространственный поиск. Мы также будем использовать несколько геопространственных поисковых запросов, таких как Near , geoWithin и geoIntersects .

2. Хранение геопространственных данных

Во-первых, давайте посмотрим, как хранить геопространственные данные в MongoDB.