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

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

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

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

1. Обзор

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

2. Основы поиска в спящем режиме

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

Если мы уже используем Hibernate и JPA для ORM, мы всего в одном шаге от Hibernate Search.

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

1. Обзор

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

2. Больше никаких весенних шаблонов

Начиная с Spring 3.0 и Hibernate 3.0.1, Spring HibernateTemplate больше не требуется для управления сеансом Hibernate. Теперь можно использовать контекстные сеансысеансы, управляемые непосредственно Hibernate и активные на протяжении всей транзакции.

Как следствие, сейчас рекомендуется использовать Hibernate API напрямую, а не HibernateTemplate. Это эффективно полностью отделит реализацию уровня DAO от Spring.

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

1. Обзор

В этом руководстве мы увидим, как решить распространенную ошибку Hibernate — «org.hibernate.TransientObjectException: объект ссылается на несохраненный временный экземпляр» . Мы получаем эту ошибку из сеанса Hibernate , когда пытаемся сохранить управляемый объект , и этот объект ссылается на несохраненный временный экземпляр.

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

Исключение TransientObjectException « вызывается, когда пользователь передает временный экземпляр методу сеанса, который ожидает постоянный экземпляр».

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

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

1. Обзор

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

2. Когда Hibernate создает прокси-объект?

Hibernate использует прокси-объекты для отложенной загрузки . Чтобы лучше представить сценарий, давайте посмотрим на сущности PaymentReceipt и Payment :

@Entity
public class PaymentReceipt {
...
@OneToOne(fetch = FetchType.LAZY)
private Payment payment;
...
}

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

1. Обзор

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

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

2. Что такое сумка в спящем режиме?

Bag, как и List , представляет собой коллекцию, которая может содержать повторяющиеся элементы. Однако это не по порядку. Более того, Bag — это термин Hibernate , который не является частью Java Collections Framework.

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

1. Введение

В этом руководстве мы обсудим, как сочетаются сущности JPA и интерфейс Java Serializable . Во-первых, мы рассмотрим интерфейс java.io.Serializable и зачем он нам нужен. После этого мы рассмотрим спецификацию JPA и Hibernate как наиболее популярную ее реализацию.

2. Что такое сериализуемый интерфейс?

Serializable — один из немногих интерфейсов маркеров, которые можно найти в ядре Java. Маркерные интерфейсы — это специальные интерфейсы без методов или констант.

Сериализация объектов — это процесс преобразования объектов Java в потоки байтов . Затем мы можем передавать эти потоки байтов по сети или хранить их в постоянной памяти. Десериализация — это обратный процесс , когда мы берем потоки байтов и преобразовываем их обратно в объекты Java. Чтобы разрешить сериализацию (или десериализацию) объектов, класс должен реализовать интерфейс Serializable . В противном случае мы столкнемся с java.io.NotSerializableException . Сериализация широко используется в таких технологиях, как RMI, JPA и EJB .

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

1. Обзор

Управление операторами SQL из наших приложений — одна из самых важных вещей, о которых нам нужно позаботиться, поскольку это оказывает огромное влияние на производительность. При работе с отношениями между объектами есть два основных шаблона проектирования для выборки. Первый — это ленивый подход, а второй — нетерпеливый подход.

В этой статье мы рассмотрим оба из них. Кроме того, мы обсудим аннотацию @LazyCollection в Hibernate.

2. Ленивая выборка

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

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

1. Введение

В этой статье мы рассмотрим пространственное расширение Hibernate, hibernate-spatial .

Начиная с версии 5, Hibernate Spatial предоставляет стандартный интерфейс для работы с географическими данными .

2. Справочная информация о Hibernate Spatial

Географические данные включают представление таких объектов, как точка, линия, многоугольник . Такие типы данных не являются частью спецификации JDBC, поэтому JTS (JTS Topology Suite) стал стандартом для представления пространственных типов данных.

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

1. Обзор

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

Эта статья посвящена Spring MVC. В нашей статье Spring Boot with Hibernate описывается, как использовать Hibernate в Spring Boot.

2. Весенняя интеграция

Начальная загрузка SessionFactory с помощью собственного API Hibernate немного сложна и потребует от нас немало строк кода (посмотрите официальную документацию , если вам действительно нужно это сделать).

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

1. Введение

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

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

2. Сессия Hibernate

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