JPA/Hibernate и PostgreSQL: примеры настройки

Перед тем, как соединяться из Hibernate с PostgreSQL, не забудьте создать пользователя, базу данных и предоставить пользователю права на неё:

Команды выше создают пользователя test с паролем test, создают базу данных test и назначают пользователя владельцем базы. В условиях Читать далее JPA/Hibernate и PostgreSQL: примеры настройки

JPA/Hibernate и MySQL: примеры настройки

Перед тем, как соединяться из Hibernate с MySQL, не забудьте создать пользователя, базу данных и предоставить пользователю права на неё:

Команды выше создают пользователя test с паролем test, создают базу данных test и, наконец, дают пользователю все права на Читать далее JPA/Hibernate и MySQL: примеры настройки

JPA Callbacks

В статье о управлении сущностями в JPA я писал, что с точки зрения JPA у каждая управляемая EntityManager сущность имеет строго определённое состояние и строго определённые правила перехода из состояния в состояние (если углубляться в теорию, то речь идёт о конечном автомате). В Читать далее JPA Callbacks

Блокировки в JPA

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

JPA Criteria

JPQL запросы штука весьма удобная, почти такая же, как и SQL, только с классами и атрибутами. Но, как и у всякой удобной вещи, у неё есть недостатки, даже два: Запросы жёстко определяются на стадии компиляции и во время исполнения их Читать далее JPA Criteria

Java Persistence Query Language

В JPA можно загружать сущности из базы по их id или по их типу. В первом случае загружается какая-то конкретная сущность, во втором — все сущности указанного типа. В принципе с этим уже можно работать — загружаешь все сущности в Читать далее Java Persistence Query Language

JPA EntityManager: управляем сущностями

Как определять сущности и связи между ними я уже писал. Пора рассказать, как сущностями управлять. Хотя в сущности 🙂 большую часть управления сущностями я описал в вводном примере. Фабрика Управление сущностями начинается с создания EntityManagerFactory, которая отвечает за отображение объектов Читать далее JPA EntityManager: управляем сущностями

JPA и связи между объектами

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

Наследование в JPA

Классы в Java могут вступать в наследственные отношения и эти отношения должны как-то сохраняться и при переносе классов в базы данных, в которых наследования, за исключением некоторых реализаций, как бы и нет. JPA предлагает целых четыре решения по заполнению этой пропасти Читать далее Наследование в JPA

Первичные ключи в JPA

Каждая JPA сущность должна иметь идентификатор, который её однозначно идентифицирует. В мире SQL подобный идентификатор называется, с некоторыми допущениями, первичный ключ. В качестве такого идентификатора можно использовать примитивные типы и их обёртки, строки, BigDecimal/BigInteger, даты и т.д. Подобный идентификатор может Читать далее Первичные ключи в JPA