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

83 записи с тегом "Hibernate"

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

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

1. Обзор

При использовании отложенной загрузки в Hibernate мы можем столкнуться с исключениями, говорящими об отсутствии сеанса.

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

2. Проблемы с ленивой загрузкой

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

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

1. Обзор

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

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

2. Контекст сохранения

Давайте взглянем на официальное определение Persistence Context :

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

1. Обзор

В этой статье мы создадим приложение Spring, используя Hibernate/JPA с источником данных JNDI .

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

2. Объявление источника данных

2.1. Система

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

1. Обзор

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

2. Какую проблему решает addScalar() ?

Обычно при получении результатов в Hibernate с помощью собственного SQL-запроса мы используем метод createNativeQuery() , за которым следует метод list() :

session.createNativeQuery("SELECT * FROM Student student")
.list();

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

1. Обзор

Легко неправильно использовать ограничения проверки bean -компонентов. Например, мы можем случайно украсить атрибут String ограничением @Future . Такие ошибки могут привести к непредсказуемым ошибкам во время выполнения.

К счастью, обработчик аннотаций Hibernate Validator помогает обнаруживать эти проблемы во время компиляции. Благодаря ошибкам, которые он выдает, мы можем отловить эти ошибки раньше.

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

2. Конфигурация

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

1. Введение

EntityManager является частью Java Persistence API. Главным образом, он реализует программные интерфейсы и правила жизненного цикла, определенные спецификацией JPA 2.0.

Более того, мы можем получить доступ к Persistence Context с помощью API в EntityManager .

В этом руководстве мы рассмотрим конфигурацию, типы и различные API- интерфейсы EntityManager .

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

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

1. Обзор

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

Обновление: эта статья посвящена Hibernate 3. Если вы ищете текущую версию Hibernate — эта статья посвящена ей .

2. Конфигурация Java Spring для Hibernate 3

Настройка Hibernate 3 с конфигурацией Spring и Java проста:

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

Объектно-реляционное отображение (ORM) — это процесс преобразования объектов Java в таблицы базы данных. Другими словами, это позволяет нам взаимодействовать с реляционной базой данных без использования SQL. Java Persistence API (JPA) — это спецификация, определяющая, как сохранять данные в приложениях Java. Основное внимание в JPA уделяется уровню ORM.

Hibernate — одна из самых популярных используемых сегодня сред Java ORM. Его первый релиз состоялся почти двадцать лет назад, и до сих пор он пользуется отличной поддержкой сообщества и регулярными выпусками. Кроме того, Hibernate является стандартной реализацией спецификации JPA с несколькими дополнительными функциями, специфичными для Hibernate. Давайте рассмотрим некоторые основные функции JPA и Hibernate.

./6fa0ab2c3dc26978c581de4eb8ecd389.png

Определение объектов

  • Определение объектов JPA
  • Жизненный цикл объекта Hibernate
  • События жизненного цикла сущности JPA
  • Значения столбца по умолчанию в JPA
  • JPA @Basic Аннотация
  • Сопоставление имен классов сущностей с именами таблиц SQL с помощью JPA
  • Разница между @Size, @Length и @Column (длина = значение)
  • Равенство юридических лиц JPA
  • JPA @Embedded и @Embeddable
  • Преобразователи атрибутов JPA
  • Hibernate @NotNull против @Column (nullable = false)
  • Определение уникальных ограничений в JPA
  • Сущности JPA и сериализуемый интерфейс

./d3ecf4786a3a577cbb6c494848defd39.png

Отношения сущностей

  • Отношения «один к одному» в JPA
  • Отношения «многие ко многим» в JPA
  • Объяснение аннотации @JoinColumn
  • Разница между @JoinColumn и mappedBy
  • Сопоставление одного объекта с несколькими таблицами в JPA
  • Обзор каскадных типов JPA/Hibernate
  • Hibernate @WhereJoinTable Аннотация
  • Отображение наследования в спящем режиме
  • Учебное пособие по аннотациям Hibernate One to Many

./5b90d3d93602ced5597ebdcdccbe4853.png

Идентификаторы

  • Обзор идентификаторов в Hibernate/JPA
  • Составные первичные ключи в JPA
  • Когда JPA устанавливает первичный ключ

./8bdda40237a6c8ab51dc31e72dc8cbaa.png

Операции чтения

  • Типы запросов JPA
  • Использование параметров запроса JPA
  • Создание запроса JPA между несвязанными объектами
  • Работа с коллекциями ленивых элементов в JPA
  • Типы соединения JPA
  • FetchMode в спящем режиме
  • Спящий именованный запрос

./bfb4088800c75466f74bdf8955bb4dad.png

Критерии запроса

  • Объединение предикатов JPA и/или критериев
  • Criteria API — пример IN-выражений
  • Запросы критериев JPA

./5393b9f8826bfad1015232cde1d2018a.png

Пагинация и сортировка

  • Сортировка с помощью JPA
  • Пагинация JPA
  • Спящий режим
  • Запросы критериев JPA

./b70bf004e4a92bbd60830bfc7c6345fc.png

Результаты запроса

  • Руководство по SqlResultSetMapping
  • Настройка результатов запросов JPA с функциями агрегирования

./a96ae9339860573e9b6de20c01a6cc4e.png

Операции записи

  • Оператор INSERT в JPA
  • Пакетная вставка/обновление с помощью Hibernate/JPA
  • Удаление объектов с помощью Hibernate
  • Hibernate: сохранить, сохранить, обновить, объединить, saveOrUpdate

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

1. Введение

В этом руководстве мы обсудим различия между несколькими методами интерфейса Session : save , persist , update , merge и saveOrUpdate .

Это не введение в Hibernate, и мы уже должны знать основы настройки, объектно-реляционного сопоставления и работы с экземплярами сущностей. Для получения вводной статьи о Hibernate посетите наш учебник по Hibernate 4 с Spring .

2. Сессия как реализация контекста персистентности

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

В этой серии руководств основное внимание уделяется работе с Persistence с помощью Spring , иллюстрируя примеры с Hibernate, JPA и Spring Data.

Spring и JPA/спящий режим

./061ac62254a432dc08e98c117a81f8ca.png

Спринг-данные JPA

./4be1b615c0f7b8e22783b3384d3f14a8.png

Другие технологии Spring Persistence

./68aad0767328f1b68be6511ea9ea709d.png

Весенние данные MongoDB

./851074f76c04aae63352bda608a1731a.png

Другие весенние уроки

  • Учебное пособие

    по REST with Spring Как создавать службы REST с помощью Spring

  • Учебное пособие

    по исключениям Spring Некоторые из наиболее распространенных исключений в Spring с примерами — почему они возникают и как их быстро решить

  • Безопасность с помощью Spring

    Как защитить проект MVC, войти и выйти из системы, как защитить службу REST с помощью OAuth.