Чтобы Hibernate не создавал SQL запросы на вставку и обновление строк заранее, на этапе запуска приложения, а делал это каждый раз во время непосредственно вставки/обновления, можно использовать аннотации @DynamicInsert и @DynamicUpdate.
Читать далееАрхив автора: admin
Использование аннотации @Entity для решения конфликтов имён в JPA запросах при наличии классов предметной области с одинаковыми именами
Может так сложиться, что в проекте будет некоторое количество классов предметной области с одинаковыми именами, но расположенные в разных пакетах. Например, два класса Client. Им могут быть сопоставлены разные таблицы, но в JPA запросах вида «select c from Client c» будет иметь место неоднозначность. Чтобы эту неоднозначность снять, можно воспользоваться параметром name аннотации @Entity.
Читать далееСоздание имён таблиц в Hibernate по заданным правилам
В Hibernate есть возможность определить правила именования для всех автоматически создаваемых таблиц для классов предметной области. Обычно такие правила сводятся к присоединению определённых префиксов или постфиксов к именам таблиц. Также можно проверять имена создаваемых таблиц на соответствие корпоративным правилам и т.п.
Читать далееНастройка имён таблиц с помощью аннотации @Table в Hibernate
При автоматической генерации схемы БД на основе классов предметной области спецификация JPA и Hibenate, как её реализация, позволяют очень гибко настраивать имена таблиц, соответствующих сущностям.
Читать далееВыбор стратегии аннотации @GeneratedValue при настройке генерации id в Hibernate
Для автоматической генерации id новых объектов сущностей Hibernate может использовать различные стратегии. Помимо тонко настраиваемых стратегий самого Hibernate, в спецификации JPA также доступны несколько стандартных стратегий, которые можно указать параметром strategy в аннотации @GeneratedValue над идентификационным полем. Здесь мы их и рассмотрим.
Читать далееСоздание кастомного генератора id через аннотацию @GenericGenerator в Hibernate
Обычно в качестве генератора id используется сиквенс базы данных, который Hibernate создаёт автоматически, когда мы указываем над идентификационным полем аннотацию @GeneratedValue(strategy = GenerationType.SEQUENCE) или @GeneratedValue(strategy = GenerationType.AUTO). Этот сиквенс можно настроить: задать ему имя и первоначальное значение. Кроме того, вместо сиквенса можно настроить использование других методов генерации id, если, например, СУБД не поддерживает синквенсы.
Читать далееСоздание базового веб-приложения на связке Spring Boot 3 + Hibernate + PostgreSQL
Создадим простое веб-приложение на Spring Boot 3 с доступом к базе через Hibernate и подключим его к СУБД PostgreSQL.
Читать далееКак убрать кракозябры вместо кириллических символов в консоли psql в Windows.
При запуске программы SQL Shell (psql), поставляемой вместе с дистрибутивом postgreSQL, введя данные для подключения к базе, мы получаем такое сообщение:
ПРЕДУПРЕЖДЕНИЕ: Кодовая страница консоли (866) отличается от основной
страницы Windows (1251).
8-битовые (русские) символы могут отображаться некорректно.
Подробнее об этом смотрите документацию psql, раздел
"Notes for Windows users".
И хотя дальше работать с psql вполне можно, но вместо русских букв будут кракозябры. Это мы и исправим.
Читать далееИспользование NetBeans в качестве универсальной графической оболочки для баз данных
Работать с данными (особенно тестовыми) в БД часто бывает удобней из графической оболочки. Однако не у всех вендоров такая оболочка есть и не у всех она бесплатная. NetBeans представляет собой пусть не самую продвинутую, но вполне рабочую бесплатную универсальную оболочку для всех БД, для которых существует драйвер на java. Рассмотрим, как его подключить к развёрнутой в системе БД на примере PostgreSQL, а также к БД, хранящей данные в одном локальном файле, на примере H2.
Читать далееУстановка СУБД PostgreSQL и создание базы данных в Windows
Установим СУБД PostgreSQL на локальный компьютер с Windows и создадим первую базу данных, к которой можно будет подключаться из разрабатываемых приложений.
Читать далее